Unity3D游戏开发之平台间的工程移植浅析.docx
《Unity3D游戏开发之平台间的工程移植浅析.docx》由会员分享,可在线阅读,更多相关《Unity3D游戏开发之平台间的工程移植浅析.docx(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Unity3D游戏开发之平台间的工程移植浅析平台间的工程移植 大部分 Unity API 和工程架构对所有支持的平台都是相同的。有些情况下可直接重建工程,以便在不同设备上运行。但是,硬件和部署方法最基本的不同意味着工程的某些部分如果不做变更,可能不能在平台之间移植。以下列出了一些常见的跨平台问题细节和解决建议。输入 平台间行为不同的最显著示例在于硬件提供的输入法。键盘和手柄 Input.GetAxis 函数在台式机平台上非常方便,可强化键盘和手柄输入。然而该函数对依靠触摸屏输入的移动平台来说毫无意义。同样,对任何内容来说标准台式机键盘输入都无法 很好地移植到移动装置,键入文本除外。如果考虑以后
2、会移植到其他平台,可以在输入代码中添加一个抽象层。举一个简单的示例,如果想制作一个驾驶类游戏,您 可能想创建自己的输入类,将 Unity API 调用包含在自己的函数内:-1. / Returns values in the range -1.0 . +1.0 (= left . right).2. function Steering() 3. return Input.GetAxis(Horizontal);4. 5.6.7. / Returns values in the range -1.0 . +1.0 (= accel . brake).8. function Acceleratio
3、n() 9. return Input.GetAxis(Vertical);10. 11.12.13. var currentGear: int;14.15. / Returns an integer corresponding to the selected gear.16. function Gears() 17. if (Input.GetKeyDown(p)18. currentGear+;19. else if (Input.GetKeyDown(l)20. currentGear-;21.22. return currentGear;23. 复制代码 像这样将 API 调用包在类中
4、有一个好处,就是都集中在单个源文件中,可轻松找到并替换。更重要的是要根据游戏中输入的逻辑含义设计自己的输入函数。这样有助于将其余的游 戏代码与特定平台使用的具体输入法分离开来。比如可对上面的 Gears 函数进行修改,使真正的输入来自移动设备的屏幕触摸事件。使用整数表示所选 gear 在所有平台上都正常工作,如果将指定平台的 API 与其余的代码混合会出现问题。您会发现使用依赖平台的编译非常方便,可在相同源文件中合并执行不同的输入函数,避免手动互换。触摸和单击 Input.GetMouseButtonXXX 函数被设计出来,即使没有“鼠标”,也能明显地合理解读移动设备,单点触摸屏幕报告为左键单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Unity3D 游戏 开发 平台 工程 移植 浅析
限制150内