NGUI官方实例—ControlIerInput讲解
zf223669
zf223669 13090 13
精华加亮 NGUI 2012-10-03 20:40
NUI官方实例—ControlIerInput
哈,国庆到西塘和乌镇玩了三天,那个人多呀!还是回来写教程吧。
在NGUI插件中,你可以设置该GUI的输入方式,例如通过鼠标、键盘、手柄等方式来控制元素的选择。在官方示例的Example4 – Input中,展示了屏蔽鼠标输入,改为通过键盘方向键来控制元件选择的功能。该示例以前一个示例作为基础。http://game.ceeger.com/forum/read.php?tid=4187
首先屏蔽鼠标事件。选择UI Root(3D)下的Camera对象,在Inspector窗口中找到UICamera组件,把其中的Use Mouse和Use Touch关掉,如图所示:

描述:请输入描述

图片:1.png

请输入描述

  为每个GUI元件添加键盘监听组件,选择Button-Play,为其添加一个ButtonKey组件(Component->NGUI->Interaction->ButtonKeys,该组件中的Starts Selected表示gui的初始选择元件,Select On Up表示当前在你选择这个按钮之后,你按下向上键时,下一个选择的元件是哪个对象,Select On Down表示当当前在你选择这个按钮之后,你按下向下键时,下一个选择的元件是哪个对象,分别为这两个变量附上Button-exitButton-option两个gui元件(注意,先必须分别给这两个元件添加上ButtonKeys组件,不然不能拖进去),如图所示:

描述:请输入描述

图片:2.png

请输入描述

依次对Button-Exit和Button-Option添加上ButtonKeys组件之后,分别设置其Select On Up和Select on Down变量。最后,选择Button-Play元件,把Starts Selected勾上。点击运行,可以看到,鼠标已经不起作用,而当你按下键盘上的上下键时,可以同样实现按钮的选择,在Option按钮上按下键盘上的回车键,可以实现鼠标点选的效果。如图所示:

描述:请输入描述

图片:3.png

请输入描述


  接下来,打开Panel-optionenable,关闭Panel-Mainenable,同样为Panel-option中的各个元件进行类似的设置,此时应该注意这个组件的添加位置,如图所示:

描述:请输入描述

图片:4.png

请输入描述

点击运行之后,你点击键盘上的左右键,会发现,滑动条虽然被选择了,可是没有显示出显示的状态。为了达到显示出选择效果,为每一个slider添加一个ButtonColor组件(component->NGUI->Interaction->ButtonColor),并在该组件中的Press中的颜色设置成青绿色,并把TweenTarget设置成该sliderbackground,如图所示:

描述:请输入描述

图片:5.png

请输入描述


 现在再点击运行,可以发现,还是没有显示出来滑动条被选中的效果!

描述:请输入描述

图片:6.png

请输入描述

不要着急,接下来,把Panel-Optionenable关掉,打开Panel-Mainenable,选择Button-Option按钮,在buttonKeys组件中的selectonClick参数中,把Panel-Option中的Button-done赋值给它(表示当按下该按钮时,下一个被选中的元件是button-done),如图所示:

描述:请输入描述

图片:7.png

请输入描述

最后一步,同样需要给button-done按钮中的buttonkeys组件中的selectonClick变量赋值为Button-Options,这样,当范围panel-main窗口时,元件才能被正确选择。如图所示:

描述:请输入描述

图片:8.png

请输入描述

  Ok。大功告成!你现在再点击播放,使用键盘的上下键选择Option按钮,点击回车,进入设置窗口,现在同样使用键盘上的上下键,哈哈,功能完全实现,如图所示:

描述:请输入描述

图片:9.png

请输入描述

 
 (浙江传媒学院-新媒体学院-数字游戏设计专业-张sir)
 
 
分享:
游客
要评论请先登录 或者 注册
13条回应 只看楼主 最新
lanneret 学者 2012-10-03 21:27 1楼
这个得顶一下。
emaxya 论坛版主 2012-10-04 12:15 2楼
感谢分享教程
l2yh 学徒 2012-10-10 11:59 3楼
          很好
耐呢,栩凌 新手 2012-10-10 21:57 4楼
谢谢老师
wangyel1 大师 2012-10-25 22:39 5楼
好贴必须顶
ronnie 新手 2012-10-28 12:35 6楼
楼主,想请教下关于使用其他非鼠标键盘类的输入设备怎么实现跟游戏通讯呀
texfill 学徒 2012-11-07 14:00 7楼
好貼必須頂
lpanysu 学徒 2012-11-10 17:16 8楼
longsir2008 学徒 2013-01-10 14:31 9楼
感谢分享哈哈  有用啊 给力
1 2
返回顶部