探cocos2dx各类输入touch、keypad、IME,源码版本(2.2.3)

记得刚开始工作的时候对cocos2dx的输入看得云里雾里,而这几天要写一些博文总结一下过去一年所学到东西,想了想借此时机把它总结一下。
第一次接触手机开发对移动平台下的消息比较陌生,但是将手机上的各类事件与window的消息做一个对比的话,会比较便于理解。
移动设备的touch事件相当于window平台上的鼠标事件,移动设备的keypad只有回退按钮和菜单按钮,移动设备ime输入与windows的wm_char消息差不多。当明白这些消息的含义之后,那么该如何添加自己的消息处理呢?想知道如何添加自己的处理函数还是需要了解一下cocos2dx中消息分发的机制。
cocos2dx中分发消息的类都是以Dispatcher为后缀的类,如:CCTouchDispatcher,CCKeypadDispatcher,CCIMEDispatcher等。而具体处理类则delegate为后缀的类,有些Dispatcher会以handler类封装delegate类,如CCTouchDispatcher在添加delegate的时候会使用delegate对象初始化handler。
Dispatcher提供相关接口添加delegate,使得具体的对象会获得相关消息。也就是说,如果需要获得消息,那么对象必须继承自各类delegate的父类,这些父类的具体消息处理函数是虚拟的,也就是可以被重载的,这样我们就可以添加自己的消息处理了。

模块相关类:



uml图:



使用方式:



扩展:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值