CCDirector在函数setOpenGLView中设置pobOpenGLView,同时会掉用
m_pobOpenGLView->setTouchDelegate(m_pTouchDispatcher);m_pTouchDispatcher被初始化为CCTouchDispatcher事件分发管理器。
CCEGLView继承CCEGLViewProtocol,setTouchDelegate来自CCEGLViewProtocol类,
CCEGLView中的消息循环中,会调用代理父类中的handleTouchesBegin,进而调用m_pDelegate的相关函数,而此时m_pDelegate被赋值为CCTouchDispatcher。
此时便实现了从view到CCTouchDispatcher事件的分发。
CCLayer继承CCTouchDelegate事件处理类,重载开始,移动,取消,接受函数
CCTouchDispatcher类中函数addTargetedDelegate,可以添加CCLayer作为事件处理类,进而在CCTouchDispatcher收到CCEGLView的消息事后,遍历array中的所有Delegate类,进行处理消息
作者:lijinchao2007 发表于2013-8-1 16:59:38 原文链接
阅读:0 评论:0 查看评论