游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2348

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 3534|回复: 48

[杨显峰讲师] Unet在线游戏框架

[复制链接]  [移动端链接]
排名
7560
昨日变化
2

11

主题

54

帖子

388

积分

Rank: 9Rank: 9Rank: 9

UID
92284
好友
5
蛮牛币
1404
威望
0
注册时间
2015-4-15
在线时间
141 小时
最后登录
2017-12-4
发表于 2017-11-20 20:45:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
show.gif 上图看起来效果和局域网的实现一样,其实已经是在进行网络在线对战了。Bulit出来的程序建了一个网络服务器,然后Unity里面运行程序再加入了服务器。
这个框架已经本实现了在线游戏的功能,怎么实现的呢?
第1步,做以下的设置:
2.gif
设置Mulitplayer,然后进入网站设置MaxPlayer数量。
第2步,给你写了一个流程图:
流程图.png
也是建立了局域网的NetworkManagerCustom.CS,里面加入了以下的实现代码,在重要的地方我做了一下注释:
[C#] 纯文本查看 复制代码
   public static void NetGame()
    {
        singleton.StartMatchMaker();
        singleton.matchMaker.ListMatches(0, 20, "", false, 0, 0, singleton.OnMatchList);
    }

    //重写OnMatchList函数
    public override void OnMatchList(bool success, string extendedInfo, List<MatchInfoSnapshot> matchList)
    {

        if (!success)
        {

            return;
        }

        if (matchList != null)
        {

            List<MatchInfoSnapshot> availableMatches = new List<MatchInfoSnapshot>();
            foreach (MatchInfoSnapshot match in matchList)
            {
                if (match.currentSize < match.maxSize)
                    availableMatches.Add(match);
            }

            if (availableMatches.Count == 0)
                CreateMatch();
            else
                matchMaker.JoinMatch(availableMatches[UnityEngine.Random.Range(0, availableMatches.Count - 1)].networkId, "", "", "", 0, 0, OnMatchJoined);
        }
    }

    void CreateMatch() //创建Net游戏
    {
        matchMaker.CreateMatch("", matchSize, true, "", "", "", 0, 0, OnMatchCreate);
    }



    public override void OnMatchCreate(bool success, string extendedInfo, MatchInfo matchInfo)
    {

        if (!success)
        {

            return;
        }

        StartHost(matchInfo);
    }


    public override void OnMatchJoined(bool success, string extendedInfo, MatchInfo matchInfo)
    {

        if (!success)
        {
            int currentScene = UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex;
            UnityEngine.SceneManagement.SceneManager.LoadScene(currentScene);
            return;
        }

        StartClient(matchInfo);
    }




1.gif

评分

参与人数 3鲜花 +6 收起 理由
LIULIULIU001 + 2 神马都是浮云
LIU在闲 + 2 赞一个!
robinApp + 2 很给力!

查看全部评分


回复

使用道具 举报

7日久生情
2783/5000
排名
2682
昨日变化
14

2

主题

1843

帖子

2783

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
241666
好友
0
蛮牛币
10617
威望
0
注册时间
2017-9-6
在线时间
422 小时
最后登录
2018-11-12
发表于 2017-11-21 08:10:50 来自Mobile--- | 显示全部楼层
感谢分享

回复

使用道具 举报

7日久生情
3827/5000
排名
1243
昨日变化
5

0

主题

2032

帖子

3827

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
94526
好友
0
蛮牛币
1952
威望
0
注册时间
2015-4-22
在线时间
883 小时
最后登录
2018-11-12
发表于 2017-11-21 09:03:06 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

7日久生情
1748/5000
排名
1422
昨日变化
4

4

主题

356

帖子

1748

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
159631
好友
1
蛮牛币
4644
威望
0
注册时间
2016-7-30
在线时间
546 小时
最后登录
2018-11-12
发表于 2017-11-21 14:25:38 | 显示全部楼层
谢谢分享

回复

使用道具 举报

7日久生情
2431/5000
排名
648
昨日变化
3

1

主题

268

帖子

2431

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
157507
好友
1
蛮牛币
4090
威望
0
注册时间
2016-7-18
在线时间
874 小时
最后登录
2018-11-12
QQ
发表于 2017-11-21 14:34:30 | 显示全部楼层
然后呢?数据交互频率是多少?数据量是多大?unity帮我们做好了数据转发?

回复 支持 反对

使用道具 举报

5熟悉之中
963/1000
排名
3529
昨日变化
21

0

主题

229

帖子

963

积分

Rank: 5Rank: 5

UID
249591
好友
0
蛮牛币
608
威望
0
注册时间
2017-10-19
在线时间
334 小时
最后登录
2018-11-12
发表于 2017-11-21 17:25:10 | 显示全部楼层
很不错的教程
[发帖际遇]: 一个袋子砸在了 ktgirltt 头上,ktgirltt 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

5熟悉之中
560/1000
排名
4001
昨日变化
3

0

主题

49

帖子

560

积分

Rank: 5Rank: 5

UID
230428
好友
2
蛮牛币
690
威望
0
注册时间
2017-7-5
在线时间
163 小时
最后登录
2018-9-17
发表于 2017-11-21 19:21:09 | 显示全部楼层
有學道不錯的教材

回复 支持 反对

使用道具 举报

5熟悉之中
755/1000
排名
5147
昨日变化
3

19

主题

349

帖子

755

积分

Rank: 5Rank: 5

UID
249218
好友
3
蛮牛币
2723
威望
0
注册时间
2017-10-17
在线时间
117 小时
最后登录
2018-11-2
发表于 2017-11-22 08:46:04 | 显示全部楼层
赞赞赞赞赞赞赞赞做做做做做做做做做做做做做做做做做做做做做做做做做做做做做

回复 支持 反对

使用道具 举报

5熟悉之中
839/1000
排名
3960
昨日变化
4

1

主题

300

帖子

839

积分

Rank: 5Rank: 5

UID
234265
好友
1
蛮牛币
333
威望
0
注册时间
2017-7-26
在线时间
184 小时
最后登录
2018-5-2
发表于 2017-11-22 08:56:55 | 显示全部楼层
66666666666

回复

使用道具 举报

7日久生情
4317/5000
排名
2348
昨日变化
2

5

主题

3109

帖子

4317

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
209186
好友
5
蛮牛币
5515
威望
0
注册时间
2017-3-1
在线时间
631 小时
最后登录
2018-11-8
发表于 2017-11-22 08:58:18 | 显示全部楼层
谢谢分享

回复

使用道具 举报

6蛮牛粉丝
1102/1500
排名
2698
昨日变化
9

0

主题

293

帖子

1102

积分

Rank: 6Rank: 6Rank: 6

UID
228538
好友
9
蛮牛币
2397
威望
0
注册时间
2017-6-24
在线时间
297 小时
最后登录
2018-11-12
发表于 2017-11-22 09:40:34 | 显示全部楼层
感谢分享
[发帖际遇]: 一个袋子砸在了 UnityTerminator 头上,UnityTerminator 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

3偶尔光临
285/300
排名
10824
昨日变化
3

4

主题

96

帖子

285

积分

Rank: 3Rank: 3Rank: 3

UID
226202
好友
0
蛮牛币
652
威望
0
注册时间
2017-6-11
在线时间
95 小时
最后登录
2018-5-29
发表于 2017-11-22 11:02:17 | 显示全部楼层
强!虽然现在没再用但是先收藏

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1016/1500
排名
3450
昨日变化
1

1

主题

371

帖子

1016

积分

Rank: 6Rank: 6Rank: 6

UID
122160
好友
1
蛮牛币
1669
威望
0
注册时间
2015-9-10
在线时间
236 小时
最后登录
2018-8-1
发表于 2017-11-22 11:11:33 | 显示全部楼层
thanks a lot

回复

使用道具 举报

排名
62515
昨日变化
77

0

主题

2

帖子

4

积分

Rank: 1

UID
255742
好友
0
蛮牛币
9
威望
0
注册时间
2017-11-22
在线时间
0 小时
最后登录
2017-11-22
发表于 2017-11-22 17:43:10 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
513/1000
排名
8681
昨日变化
7

4

主题

251

帖子

513

积分

Rank: 5Rank: 5

UID
247659
好友
0
蛮牛币
1403
威望
0
注册时间
2017-10-9
在线时间
128 小时
最后登录
2018-9-12
发表于 2017-11-23 08:29:51 | 显示全部楼层
谢谢分享!!1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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