| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2778 人关注过本帖
标题:菜鸟在线游戏开发培训中U3d引擎的网络应用问题你了解多少?
只看楼主 加入收藏
菜鸟在线哈哈
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-5-12
收藏
 问题点数:0 回复次数:0 
菜鸟在线游戏开发培训中U3d引擎的网络应用问题你了解多少?
  游戏开发培训中U3d引擎的网络方面最大的优点就在于它拥有一个统一的结构。

  在游戏开发培训中网络是紧密结合在脚本引擎中的,这样我们就可以很轻松的来编写多个播放器的脚本,非常的方便。但说回来Unity上的API工作起来还是并不太如人意的,虽然说增删一个网络视图并不会对游戏脚本本身产生影响,但如果存在着单播放器或者多个播放器时,RPC与对象实例化就很难应对了,但这也不是一个解决不了的问题,这里大家可以写一个网络管理器来实现一些有用的功能。

  例如:

  通过名字或索引来加载等级,当网络在工作的时候,自动暂停网络队列处理,等待等级加载完毕后,通过固定一个回调函数来实例化对象。如果断开,我们就用通常先前的GameObject.Instantiate函数,不然就用NetWork.Instantiate来进行实例化对象。

  再说消除对象,如果断开,我们使用GameObject.Destroy,反之使用Network.Destroy。

  另外需要为所有组件来创建一个基类GameBehavior。这类有封装了一个关于networkView.RPC的封装器,用在没连上服务器的时候控制RPC。它还内置支持组件缓存和多态支持。

  游戏开发培训最后一点,我们还需要写几个类来封装网络特性,如NetFloatProperty,NetVector2Property,NetVector3Property,NetVector4Property。每个类都可以从OnSerializeView读取位流和调用netFloatWrapper.Add,然后在更新中调用netFloatWrapper.GetValue()来自动篡改进入的数据包。
搜索更多相关主题的帖子: 网络管理 网络应用 在线游戏 游戏开发 播放器 
2016-09-13 17:25
快速回复:菜鸟在线游戏开发培训中U3d引擎的网络应用问题你了解多少?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039577 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved