本文主要讲述作者在学习使用cocos2d-x中,对cocos2d-x win32键盘事件的处理机制的理解和实现。具体的实现方法在链接中。
cocos2d-x开发引擎开发的程序,主要应用于移动终端。因此cocos2d-x对键盘的处理事件,主要采用触摸虚拟键盘实现。但在开发过程中,为了一些测试或者其他目的,我们往往希望在window下,直接使用键盘输入,但cocos2d-x不可以直接接受键盘命令。不过不用担心,因为cocos2d-x完全提供了在win32环境下处理键盘事件的机制。
cocos2d-x win32键盘事件原理:一、接受键盘输入类:CCEGLView
二、键盘事件派送类:CCKeypadDispatcher
三、键盘事件委任类:CCKeypadDelegate
四、键盘事件实现类:CClayer
具体实现关系可以如图所示:
如图所示,CCEGLView类用于捕捉键盘输入事件,作用相当于雷达。捕捉到的事件消息传递给CCKeypadDispatcher,此类相当于指挥部,作用是根据雷达(CCEGLView)捕捉到的消息,发布合适的处理命令。比方说雷达捕捉到的是飞机入侵,那么指挥部就应该给空军发布命令,而不是给海军发布命令。CCKeypadDelegate
用于派遣具体类的实施。比如空军收到了指挥部的命令,说是有F-22入侵,那么空军就应该派遣歼-20出击,而不是派遣歼-10。CClayer类就是具体的实现类,相当派遣哪一位飞行员去开歼-20执行本次任务。
具体实现的例子:http://download.csdn.net/detail/u013965885/7098143点击打开链接