cocos2d-x的消息分发和大部分的引擎有点区别,优点和缺点都很明显。

一般的分发思路都会和zorder有一定关系,同样屏幕位置的响应元素,离用户近的会屏蔽离用户远的元素的响应,即zorder值大的屏蔽zorder值小的。cocos2d-x则是由touch priority来决定的,这个和zorder是完全独立的两套体系。好处是可以比较灵活的调整响应元素的优先级,坏处是开发者需要自己控制各个响应元素的touch priority,需要做一些代码的处理以及前期的优先级规划。touch priority值越小,响应元素的响应优先级越高。这个和zorder刚好相反。

触摸消息分发还有个重要的方面就是消息响应后该触摸消息是不是就不会再传递下去,cocos2d-x中需要自己控制消息是否响应后是否会传递下去。

如果一个CCTouchDelegate被添加至CCTouchDispatcher时,如果设置bSwallowsTouches为true,则当该CCTouchDelegate所在响应元素的ccTouchBegan返回为true时,则触摸消息响应之后就会被吞掉。反之则能继续传递下去。

而且cocos2d-x的消息分发并不会看touch是否发生在响应元素的响应区域范围内与否,只根据priority顺序来传递。例如button无论多小,只要优先级够高,总能最早响应到touch消息。

这套机制我觉得还是做层简单的封装,touch响应优先级基于zorder,响应区域反应基于响应元素响应区域范围,是否吞掉消息则取决于元素本身。

响应优先级与zorder相关推荐

  1. STM32的抢占优先级和响应优先级

    转自野火<零死角玩转STM32> 一.抢占优先级和响应优先级 STM32 的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号 越小,表明它的优先级别越高.     抢占, ...

  2. 【转】STM32中的抢占优先级、响应优先级概念

    STM32(Cortex-M3)中有两个优先级的概念--抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级. 具有高抢占式优先级的中断可以在具 ...

  3. STM32中断分配——抢占优先级与响应优先级

    <原创声明:本文属博主原创,禁止一切形式的转载.抄袭> 在用单片机做数据采集或者控制的时候,有时候需要一个工程开好几个中断,去同时控制舵机.电机.串口数据收发等等,这时候就需要对这若干个中 ...

  4. 【STM32】NVIC 中断优先级管理,抢占优先级,响应优先级,中断寄存器

    文章目录 抢占优先级和响应优先级 抢占 响应 NVIC 的优先级组 中断寄存器 ISER[8] ICER[8] ISPR[8] ICPR[8] IABR[8] IP[240] 中断优先级设置步骤总结 ...

  5. 中断优先级分组与抢占优先级和响应优先级的关系

    之前学习嵌入式的时候不太明白中断优先级分组与抢占优先级和响应优先级的关系,比如分组为2,抢占优先级也为2,响应优先级也为2,就是不明白他们之间有什么关系,谁决定谁,总共有多少个数值可供选择. 趁着现在 ...

  6. STM32 EXTI外部中断及NVIC的抢占优先级和响应优先级解释

    1.中断类型 从之前的串口实验可以看出,STM32总共分为内部中断和外部中断,内部和外部的配置差别不是很大,外部中断只是多了一步,需要通过 GPIO_EXTILineConfig(uint8_t GP ...

  7. stm32的抢占优先级和响应优先级(也叫子优先级)

    一.抢占优先级和响应优先级 STM32 的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号越小,表明它的优先级别越高. 抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中断 ...

  8. STM32的中断优先级说明(抢占式与响应式优先级)

    注:查看寄存器请看<ARM Cortex-M4权威指南>,由于本人采用库开发,所以就不深究寄存器了.总结资料来源于原子的<STM32F4库开发指南>,总结于此,方便查找. ST ...

  9. cocos2d-x触摸事件优先级

     CCTouchDispatcher是管理cocos2d-x中全部Touch事件派发的类, CCTouchDispatcher中包括了两个CCTouchHandler的列表, 分别存储Standa ...

最新文章

  1. StoreFront 2.5让XenDesktop和XenApp如虎添翼
  2. 错误 - 无法访问IIS元数据库
  3. s2sh乱码一个小处理(新手按流程走)
  4. java项目包创建顺序_java程序初始化的顺序
  5. Exception: com.mchange.v2.c3p0.impl.NewProxyConnection cannot be cast to com.mysql.jdbc.Connection
  6. linkedin上看到的CRM团队信息
  7. JavaScript笔记(3)
  8. 哪些网站在+1s后有神奇的功能
  9. Reusability1
  10. python在什么平台开发_python主要用于开发什么
  11. android swf游戏下载工具,安卓swf游戏播放器下载
  12. windows10提权
  13. 九齐单片机NY8B062D项目开发总结
  14. 三端稳压管型号选型对照大全-KIA半导体
  15. 几款电纸书阅读器参数对比
  16. Python练手项目:计算机自动还原魔方(1)顶部十字
  17. W5500+DHCP+DNS+MQTT
  18. SOP是什么?SOP的作用是什么?如何编写SOP?
  19. 古风android游戏,橙光古风虐恋情深游戏
  20. 舟正科级DAMQ-4202基于LabVIEW的数据通信采集

热门文章

  1. .net 一些常用的工具来破解
  2. TranslateAnimation类:位置变化动画类
  3. About Gaelyk
  4. 【JAVA】java 堆溢出分析
  5. Mysql Order By 字符串排序,mysql 字符串order by
  6. 使用日程安排自动化测试来更好地管理时间与资源
  7. select和其元素options
  8. Java字符串格式化记录
  9. MySQL管理之 MyISAM和InnoDB存储引擎简单对比
  10. [置顶]       Jquery实现网页marquee效果