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

扫一扫,访问微社区

开发者专栏

关注:2100

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

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

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

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

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

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日久生情
2510/5000
排名
3715
昨日变化
17

2

主题

1840

帖子

2510

积分

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

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

回复

使用道具 举报

7日久生情
3159/5000
排名
1931
昨日变化
2

0

主题

1955

帖子

3159

积分

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

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

回复

使用道具 举报

6蛮牛粉丝
1206/1500
排名
2361
昨日变化
2

3

主题

332

帖子

1206

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

7日久生情
1980/5000
排名
829
昨日变化
2

1

主题

230

帖子

1980

积分

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

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

回复 支持 反对

使用道具 举报

5熟悉之中
685/1000
排名
5093
昨日变化
19

0

主题

221

帖子

685

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
465/500
排名
3896
昨日变化

0

主题

15

帖子

465

积分

Rank: 4

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

回复 支持 反对

使用道具 举报

5熟悉之中
576/1000
排名
7108
昨日变化
1

17

主题

336

帖子

576

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

5熟悉之中
737/1000
排名
4287
昨日变化
2

1

主题

300

帖子

737

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

7日久生情
3790/5000
排名
4176
昨日变化
2

5

主题

3129

帖子

3790

积分

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

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

回复

使用道具 举报

4四处流浪
477/500
排名
6104
昨日变化

0

主题

167

帖子

477

积分

Rank: 4

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

回复

使用道具 举报

3偶尔光临
250/300
排名
10722
昨日变化

4

主题

90

帖子

250

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

5熟悉之中
915/1000
排名
3503
昨日变化

1

主题

357

帖子

915

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

排名
56046
昨日变化
20

0

主题

2

帖子

4

积分

Rank: 1

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

回复

使用道具 举报

4四处流浪
454/500
排名
9093
昨日变化
1

3

主题

251

帖子

454

积分

Rank: 4

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

回复

使用道具 举报

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

本版积分规则

关闭

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

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