开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2006

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

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

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

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

[复制链接]  [移动端链接]
排名
6531
昨日变化
6

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日久生情
1525/5000
排名
5628
昨日变化
46

2

主题

1119

帖子

1525

积分

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

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

回复

使用道具 举报

7日久生情
2970/5000
排名
2113
昨日变化
10

0

主题

1891

帖子

2970

积分

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

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

回复

使用道具 举报

6蛮牛粉丝
1012/1500
排名
2858
昨日变化
13

3

主题

286

帖子

1012

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

7日久生情
1785/5000
排名
999
昨日变化
1

1

主题

224

帖子

1785

积分

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

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

回复 支持 反对

使用道具 举报

4四处流浪
358/500
排名
8570
昨日变化
102

0

主题

144

帖子

358

积分

Rank: 4

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

回复

使用道具 举报

4四处流浪
384/500
排名
4613
昨日变化
25

0

主题

15

帖子

384

积分

Rank: 4

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

回复 支持 反对

使用道具 举报

4四处流浪
474/500
排名
9562
昨日变化
115

11

主题

317

帖子

474

积分

Rank: 4

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

回复 支持 反对

使用道具 举报

5熟悉之中
605/1000
排名
5578
昨日变化
47

1

主题

285

帖子

605

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

7日久生情
3280/5000
排名
4934
昨日变化
36

4

主题

2740

帖子

3280

积分

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

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

回复

使用道具 举报

4四处流浪
306/500
排名
8393
昨日变化
83

0

主题

106

帖子

306

积分

Rank: 4

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

回复

使用道具 举报

3偶尔光临
175/300
排名
13130
昨日变化
7

3

主题

77

帖子

175

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

5熟悉之中
729/1000
排名
4247
昨日变化
31

1

主题

282

帖子

729

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

排名
54045
昨日变化
332

0

主题

2

帖子

4

积分

Rank: 1

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

回复

使用道具 举报

4四处流浪
430/500
排名
9682
昨日变化
5

3

主题

250

帖子

430

积分

Rank: 4

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

回复

使用道具 举报

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

本版积分规则

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