找回密码
 立即注册
查看: 7217|回复: 90

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

[复制链接]
发表于 2015-5-18 08:35 | 显示全部楼层 |阅读模式
本帖最后由 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 | 显示全部楼层
很不错
发表于 2017-2-10 20:30 | 显示全部楼层
好帖就是要顶
发表于 2017-2-10 20:41 | 显示全部楼层
很好哦
发表于 2017-2-10 20:31 | 显示全部楼层
不错不错
发表于 2017-2-10 20:42 | 显示全部楼层
LZ真是人才
发表于 2017-2-11 13:51 | 显示全部楼层
好帖就是要顶
发表于 2017-2-11 13:58 | 显示全部楼层
真心顶
发表于 2017-2-11 14:08 | 显示全部楼层
难得一见的好帖
发表于 2017-2-11 14:07 | 显示全部楼层
很好哦
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-30 21:44 , Processed in 0.108488 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表