slc766 发表于 2015-5-18 08:35

新手,自己做了一个1对1的扎金花游戏,现在出现问题了,希望有大神来帮帮忙看下原因

本帖最后由 slc766 于 2015-5-18 08:37 编辑

本人新手,做这个花了好久去思考逻辑,去查代码命令怎么用,中间也解决了很多BUG,最后成果在自己电脑里能够使用
服务器如下:

线下模式如下:

在线模式如下:

主要思路就是线下模式用NETWORK做的,而在线模式只是添加了积分和排名功能。

当我满心欢喜的发给好几个朋友后,只有1个人能正常使用,而其它人的电脑上就出问题了,首先是分辨率并不是我设置的那样,而是直接全屏,再就是在线模式一登陆就会把服务器弄崩溃,那我想着最少线下模式能用也行啊,结果他们进去以后发现是这样的:


下面是我部分代码,很简单的逻辑
void OnGUI()
    {

      //我的信息
      GUI.Label(new Rect(10, Screen.height - 140, 100, 100), wotouxiang);
      GUI.Label(new Rect(120, Screen.height - 140, 200, 20), myname, aa);
      GUI.Label(new Rect(120, Screen.height - 120, 200, 20), "资产:" + money.ToString(), aa);
      GUI.Label(new Rect(120, Screen.height - 100, 200, 20), "钻石:" + zuanshi.ToString(), aa);
      
      if (paiming != "")
      {
            GUI.Label(new Rect(120, Screen.height - 80, 200, 20), "排名:" + paiming, aa);
      }

            switch (Network.peerType)
            {
                //网络断开时
                case NetworkPeerType.Disconnected:
                  Startserver();
                  break;
                //启动服务器后服务器动作
                case NetworkPeerType.Server:
                  Onserver();
                  break;
                //连接后客户端动作
                case NetworkPeerType.Client:
                  Onserver();
                  break;
                case NetworkPeerType.Connecting:
                  break;
            }
    }

    //网络断开时
    void Startserver()
    {
      gangkaishi = true;
      if (gametype == "单机")
      {
            money = danjimoney;

            //创建游戏
            GUI.Label(new Rect(Screen.width / 2 - 120, Screen.height / 2 , 100, 40), "本机IP:\n" + myip.ToString());
            if (GUI.Button(new Rect(Screen.width / 2, Screen.height / 2 , 100, 40), "创建游戏"))
            {
                NetworkConnectionError error = Network.InitializeServer(1, juyuwangport, false);
                Debug.Log("连接状态" + error);
                zhuji = true;
            }
            //加入游戏
            Event e = Event.current;
            shuruip = GUI.TextField(new Rect(Screen.width / 2 - 120, Screen.height / 2 + 50, 100, 30), shuruip);
            if ((GUI.Button(new Rect(Screen.width / 2, Screen.height / 2 + 50, 100, 40), "加入游戏") || e.keyCode == KeyCode.Return)&&shuruip!="")
            {
                NetworkConnectionError error = Network.Connect(shuruip, juyuwangport);
                Debug.Log("连接状态" + error);
                zhuji = false;
            }
            //返回
            if (GUI.Button(new Rect(Screen.width / 2, Screen.height / 2 + 50 + 50, 100, 40), "返回"))
            {
                Application.LoadLevel("start");
            }
      }
后面就是网络部分了,大致也就是和这个差不多,为什么OnGUI()里的能显示出来,但是Startserver()里的执行不了?有大神帮帮忙吗

阿豆 发表于 2017-2-10 20:29

很不错

zldarwin 发表于 2017-2-10 20:30

好帖就是要顶

Steven 发表于 2017-2-10 20:41

很好哦

阿豆 发表于 2017-2-10 20:31

不错不错

阿豆 发表于 2017-2-10 20:42

LZ真是人才

baron 发表于 2017-2-11 13:51

好帖就是要顶

阿豆 发表于 2017-2-11 13:58

真心顶

Steven 发表于 2017-2-11 14:08

难得一见的好帖

海风 发表于 2017-2-11 14:07

很好哦
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 新手,自己做了一个1对1的扎金花游戏,现在出现问题了,希望有大神来帮帮忙看下原因