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

扫一扫,访问微社区

开发者专栏

关注:2286

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

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

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

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

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

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日久生情
2536/5000
排名
3504
昨日变化
1

2

主题

1780

帖子

2536

积分

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

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

回复

使用道具 举报

7日久生情
3651/5000
排名
1431
昨日变化
1

0

主题

2023

帖子

3651

积分

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

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

回复

使用道具 举报

7日久生情
1566/5000
排名
1640
昨日变化

3

主题

353

帖子

1566

积分

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

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

回复

使用道具 举报

7日久生情
2337/5000
排名
670
昨日变化
1

1

主题

261

帖子

2337

积分

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

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

回复 支持 反对

使用道具 举报

5熟悉之中
936/1000
排名
3486
昨日变化

0

主题

227

帖子

936

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
486/500
排名
4227
昨日变化
2

0

主题

26

帖子

486

积分

Rank: 4

UID
230428
好友
1
蛮牛币
756
威望
0
注册时间
2017-7-5
在线时间
142 小时
最后登录
2018-8-17

一贫如洗

发表于 2017-11-21 19:21:09 | 显示全部楼层
有學道不錯的教材

回复 支持 反对

使用道具 举报

5熟悉之中
750/1000
排名
5086
昨日变化

19

主题

349

帖子

750

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

5熟悉之中
839/1000
排名
3812
昨日变化
2

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日久生情
4206/5000
排名
2663
昨日变化
1

5

主题

3111

帖子

4206

积分

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

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

回复

使用道具 举报

5熟悉之中
889/1000
排名
3424
昨日变化
12

0

主题

254

帖子

889

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

3偶尔光临
286/300
排名
10552
昨日变化

4

主题

97

帖子

286

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

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

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

回复

使用道具 举报

排名
60711
昨日变化
25

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
排名
8455
昨日变化

4

主题

252

帖子

513

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

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

本版积分规则

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