如果在场景中需要用到控制器手柄,那么首先要在拖动IntegrateInputManager这个预设体到场景中
场景中新建几个Button,然后便于管理把这几个button放到一个空对象下面
选中canvas,添加InputManagerMenu和MenuController这两个脚本组件
下面我就介绍一下两个脚本各自的存在的意义:
InputManagerMenu:这个脚本中写了一大堆的遥控器控制事件比如下面,在事件开发过程中可以不用这个魔镜的脚本,自己写一个脚本,加入using MojingSample.CrossPlatformInput;这个引用,然后就Unity使用Input输入事件一样,使用很简单
if (CrossPlatformInputManager.GetButtonDown(“OK”))
if (CrossPlatformInputManager.GetButtonDown(“C”))
if (CrossPlatformInputManager.GetButtonDown(“MENU”))
if (CrossPlatformInputManager.GetButton(“UP”))
if (CrossPlatformInputManager.GetButton(“DOWN”))
if (CrossPlatformInputManager.GetButtonDown(“CENTER”))
if (CrossPlatformInputManager.GetButton(“RIGHT”))
if (CrossPlatformInputManager.GetButton(“LEFT”))
下面这段代码意思是:摇杆往上推时,按钮切换到其上个按钮
如果你的按钮时单列的,就不用下面这两个
if (CrossPlatformInputManager.GetButton(“RIGHT”))
if (CrossPlatformInputManager.GetButton(“LEFT”))
补充说明一下,每一个按键都有down/press/up三种状态,上面我偷懒,只写了一种
MenuController 这个脚本很重要,按钮的切换以及按钮具体执行的功能都在这里,这个脚本很多地方都要自己重写,毕竟这个脚本自带的内容是为魔镜自带的Demo而设计的,但是这个脚本的主体功能框架是要沿用的
在按钮切换时,魔镜的作者在代码编写时,把事件控制和事件的具体实现分别各用一个脚本实现,清晰明了,很值得借鉴学习!
备注:
FR:徐海涛(Hunk Xu)