码迷,mamicode.com
首页 > 其他好文 > 详细

【U3D】斗地主

时间:2015-03-12 15:29:47      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:斗地主

 

设计人:刘莹

QQ:799391984

邮箱:lyying21@163.com

电话:15301331993

 

由于时间太短,做工粗糙 还待改善

 

游戏运行开始 【开始游戏】

技术分享

 

 

 

 

开始游戏 【倒计时出牌】

 

技术分享

 

 

点击【出牌】

技术分享

 

设计界面

技术分享

 

    /// <summary>
    /// 操作牌
    /// </summary>
    private void GetPuke()
    {
        i++;//出牌顺序控制变量
        int k = Random.Range(0, Globe.pukeList.Count);//随机数0-54
        #region 分割列表内数据
        string value = Globe.pukeList[k].ToString();//取出牌的数据
        string[] str = value.Split(‘,‘);//分割
        string pukePaizhi = str[2];//取出牌值
        string pukeHuase = str[0];//取出花色
        string pukeValues = str[1];//取出点数
        #endregion
        Globe.pukeList.RemoveAt(k);//移除数据
        if (Globe.pukeList.Count == 3)//取消调用
        {
            CancelInvoke("GetPuke");
        }
        GameObject pukes = (GameObject)Instantiate(Resources.Load("puke"));//克隆出牌       
        pukes.AddComponent("PukeMoverController");//添加脚本
        pukes.GetComponent<PukeMoverController>()._value = pukeValues;
        pukes.GetComponent<PukeMoverController>()._type = pukeHuase;

        #region 深度、花色控制
        ForClass(pukePaizhi, pukeHuase, pukes);//改变花色
        for (int d = 0; d < pukes.transform.childCount; d++)//循环控制深度
        {
            pukes.transform.GetChild(d).GetComponent<UISprite>().depth = i + 1;//子物体深度+1
        }

        if (i % 3 == 1 || i % 3 == 2)//判断生成牌的位置
        {
            pukes.GetComponent<UISprite>().spriteName = "HLDDZ_MainGame0_2x_197";//改变为暗牌
            pukes.GetComponent<UIButton>().normalSprite = "HLDDZ_MainGame0_2x_197";//改变为暗牌
            pukes.GetComponent<UISprite>().depth = i + 2;//深度大于子物体深度
            pukes.GetComponent<BoxCollider>().enabled = false;
            pukes.GetComponent<UIButton>().enabled = false;
        }
        else
        {
            pukes.GetComponent<UISprite>().depth = i;//深度为i
           
        }
        #endregion

        #region 发牌位置
        if (i % 3 == 0)
        {
            _pukePos1.x -= 30;//位置递增             
            pukes.transform.parent = _pukePanel1;//转换为_pukePos1的子物体
            pukes.transform.localPosition = new Vector3(-_pukePos1.x, _pukePos1.y, _pukePos1.z);//pukes的自身坐标改变
            pukes.transform.localScale = new Vector3(1, 1, 1);//pukes的自身大小还原为1
            pukes.GetComponent<UISprite>().depth = i;//改变克隆牌的深度
        }
        else if (i % 3 == 1)
        {
            _pukePos2.x += 6;//位置递增
            _pukePos2.y += 6;//位置递增
            pukes.transform.parent = _pukePanel2;//转换为_pukePos2的子物体
            pukes.transform.localPosition = new Vector3(-_pukePos2.x, -_pukePos2.y, _pukePos2.z);//pukes的自身坐标改变
            pukes.transform.Rotate(0, 0, -45);//旋转45°
            pukes.transform.localScale = new Vector3(1, 1, 1);//pukes的自身大小还原为1
        }
        else if (i % 3 == 2)
        {
            _pukePos3.x -= 6;//位置递减
            _pukePos3.y += 6;//位置递增
            pukes.transform.parent = _pukePanel3;//转换为_pukePos3的子物体
            pukes.transform.localPosition = new Vector3(-_pukePos3.x, -_pukePos3.y, _pukePos3.z);//pukes的自身坐标改变
            pukes.transform.Rotate(0, 0, 45);//旋转45°
            pukes.transform.localScale = new Vector3(1, 1, 1);//pukes的自身大小还原为1
        }
        #endregion

        if (i==51)
        {
            CallDiZhu();
        }
    }

 

 

 

    /// <summary>
    /// 选择抢地主的人
    /// </summary>
    /// <param name="_id"></param>
    public void SelectPeople(string _id)
    {
        for (int j = 0; j < transform.childCount; j++)
        {
            if (transform.GetChild(j).GetComponent<PeopleController>().Id==_id)
            {
                //计时器启动
                transform.GetChild(j).Find("Clock").gameObject.SetActive(true);
                //计时器状态
                transform.GetChild(j).Find("Clock").GetComponent<StopwatchController>().stopWatchState = true;
               
                //启动计时器
                transform.GetChild(j).Find("Clock").GetComponent<StopwatchController>().Open();

                //抢地主决定行为
                StartCoroutine(transform.GetChild(j).GetComponent<PeopleController>().JueDing());
            }
        }
    }

 

 

 

 

 

 

 

 

【U3D】斗地主

标签:斗地主

原文地址:http://9986336.blog.51cto.com/9976336/1619569

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!