cocos 事件转发

摘要:
CCDirector在函数setOpenGLView中设置pobOpenGLView,同时会掉用m_pobOpenGLView-˃setTouchDelegate;m_pTouchDispatcher被初始化为CCTouchDispatcher事件分发管理器。CCEGLView继承CCEGLViewProtocol,setTouchDelegate来自CCEGLViewProtocol类,CCEGLView中的消息循环中,会调用代理父类中的handleTouchesBegin,进而调用m_pDelegate的相关函数,而此时m_pDelegate被赋值为CCTouchDispatcher。此时便实现了从view到CCTouchDispatcher事件的分发。

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类,进行处理消息

免责声明:文章转载自《cocos 事件转发》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java 类型转换C++ 类的前向声明下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

wcf通道Channel

正文       客户端与服务进行交互的过程是通过通道进行交互的。客户端通过调用代理类执行相应的方法,通过通道编码,调用上下文,传输客户端的事务,管理可靠会话,对消息正文的加密,最后要执行的通道是传输通道就像我们七层的最后一层是物理传输层与服务端的那一头的传输通道交接。服务端拿到以后会逐个拆包,然后交给分发器,分发器交给对应的服务处理。         ...

C++ 实参和形参

形参:在函数没有调用的时候,函数的形参并不占据实际的内存空间,也没有实质的值,——正如字面意思那样,“形式”参数,只是一个“形式。 实参:当函数被调用的时候,系统会为形式参数分配内存空间,然后用“实际”参数为形参赋值。 我们在使用函数的过程中,在函数中调用我们自己定义的函数的时候,会把实参传给一个形参类型和该实参相对应的函数——这个参数传递的过程,实际上是...

Celery学习---Celery 分布式队列介绍及安装

 Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个实例场景中可用的例子: 1. 你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回 一个任务ID,...

一、在 ASP.NET Core 中使用 SignalR

一、介绍 SignalR是一个用于实现实时网站的 Microsoft .NET 库。它使用多种技术来实现服务器与客户端间的双向通信,服务器可以随时将消息推送到连接的客户端。 https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/signalr?tabs=visual-studio&view=a...

深入理解xLua基于IL代码注入的热更新原理

目前大部分手游都会采用热更新来解决应用商店审核周期长,无法满足快节奏迭代的问题。另外热更新能够有效降低版本升级所需的资源大小,节省玩家的时间和流量,这也使其成为移动游戏的主流更新方式之一。 热更新可以分为资源热更和代码热更两类,其中代码热更又包括Lua热更和C#热更。Lua作为一种轻量小巧的脚本语言,由Lua虚拟机解释执行。所以Lua热更通过简单的源代码文...

MFC避免窗口闪烁的方法(OnEraseBkgnd) .

在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图...