本文主要是介绍cocos2dx:模拟touch事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近终于开始学习cocos2d-x引擎了,Cocos2d-x作为一个手机游戏引擎,屏幕触摸事件(touch)的处理一定时非常重要的。上个礼拜,我就开始琢磨,如何在telnet终端通过CCConsole命令模拟touch事件? 要在引擎里模拟touch事件,就先要弄清楚引擎是如何处理touch事件的。就以往的经验,touch事件的处理是比较复杂的,所以千万不能先看代码或者查资料,要先想清楚。
触摸事件是通过触摸屏传感器产生中断传给CPU,CPU再调用驱动的中断处理程序传给OS,OS再通过touch事件回调接口传给应用处理的。引擎的位置显然在应用层。那我们的目标就是OS的回调接口,以Android为例,应用入口在android_main(),回调接口也是在这里指定的:
void android_main(struct android_app* state) {
// Make sure glue isn't stripped.
app_dummy();
memset(&engine, 0, sizeof(engine));
state->userData = &engine;
state->onAppCmd = engine_handle_cmd;
state->onInputEvent =
这篇关于cocos2dx:模拟touch事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!