- 浏览: 462266 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (470)
- 前言 (1)
- 【sys】centos6.2 (51)
- 【sys】shell (8)
- 【sys】yum (1)
- software (6)
- 【tec】ruby (16)
- 【tec】rails (35)
- 【tec】rails路由 (2)
- 【tec】rails部署 (10)
- 【tec】rails优化 (6)
- 【tec】rails测试 (11)
- 【tec】php (45)
- 【tec】android (1)
- 【tec】ios (125)
- 【data】mysql (11)
- web (6)
- 【life】文学与提升 (2)
- life (36)
- 【life】怀念 (1)
- 【web】nginx (5)
- 【web】网络与安全 (4)
- 工作随笔 (1)
- 【software】svn (5)
- 【script】jquery (10)
- powerEdge (2)
- 杂七杂八 (5)
- 【sys】ubuntu (9)
- 【sys】windows (4)
- 【tec】java (1)
- 【tec】html (3)
- 【tec】c++ (38)
- 【tec】汇编 (1)
- 【data】数据库 (1)
- 【exchange 】学术交流 (1)
- 【tec】域名空间 (1)
- 【tec】编程先知 (1)
- 【tec】网站建设 (7)
- 【sys】mac (24)
- 【sys】seo (1)
- 【tec】wp (1)
- 【software】git (4)
最新评论
-
fireDragonpzy:
呵呵 貌似我网站上的有更新 你从那里看看 这个博客维护的不及时 ...
牛人经典语录 -
Peppermintchz:
还真这么2过啊!!好怀念啊
牛人经典语录 -
fireDragonpzy:
<div class="quote_title ...
cocos2d-x事件触发的优先级 -
chenhong53:
你好,我想问一下,能不能给一组精灵数组中的精灵添加触屏优先级, ...
cocos2d-x事件触发的优先级 -
fireDragonpzy:
dreamstar1020 写道谢谢庞兄指点,写的很详细,谢谢 ...
致:上海郑兄(虚拟主机-web服务器搭建)
本文为firedragonpzy原创,转载务必在明显处注明:
转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/858
详细请参考: 【Software MyZne】[url]http://www.firedragonpzy.com.cn/index.php/archives/858 [/url]
你可以自定义不同的精灵类,设置不同的触屏优先级,添加到数组
转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/858
刚刚开始学习coocs2d-x的时候,被这个事件的优先级整的可是够呛啊。关于事件,有CCStandradTouch,CCTargetedTouch。CCTouchDispatcher类分发S获取的触摸事件。它有两种分发方式,一种是CCStandardTouchDelegate,一种是CCTargetedTouchDelegate。和前面的事件一一对应,前者将所有的Touch信息直接传递给实现该协议的对象,而后者则要求实现该代理的类一次只能处理一个事件,并且吃掉该事件,不再传播,当然也可以设置传播。 关于CCStandardTouchDelegate,它可以处理多触点事件,而CCTargetedTouchDelegate也就是相应的单点事件喽。 使用单点事件,基本都会用到下面的代码: void DialogLayer::onEnter() { CCLayerColor::onEnter(); CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,0,true); } void DialogLayer::onExit() { CCLayerColor::onExit(); CCTouchDispatcher::sharedDispatcher()->removeDelegate(this); } 最主要的就是CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,0,true);中的第三个参数,若为true,则表明吞掉事件,若为false,不吞掉事件,个人感觉和目标事件是一样的,只不过是单点,而不是多点而已。写完这个,相应的肯定会使用到下面的代码: bool DialogLayer::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent) { return true; } void DialogLayer::ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent) { } void DialogLayer::ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent) { } ccTouchBegan中的return true,表明拥有对象处理权,这个返回值是和CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,0,true);的第三个参数息息相关的若为true,ccTouchBegan也为true,会吞掉事件,走接下来的move等。若ccTouchBegan为false,则不会吞掉事件,各个层被分发点击事件,但是不走move等方法。 不对啊 ,扯远了,本来是说优先级的。先说优先级: 拿精灵来举例子吧。精灵触摸事件的触发是根据添加的顺序依次触发的,后添加的精灵先捕获触摸事件,当然,这是没有设置事件优先级的情况下,若要是定义了事件的优先级,则先按照事件的优先级依次被触发,然后根据添加的顺序依次被触发,特别注意在使用CCMenu的时候,容易出现错误,之前我就是怎么点击也不触发事件,纠结了好久,希望看了本文的朋友们,不会出现此低级错了 乱啊 ,工作了一天在写,脑子有点钝了,见谅,呼呼……
详细请参考: 【Software MyZne】[url]http://www.firedragonpzy.com.cn/index.php/archives/858 [/url]
评论
2 楼
fireDragonpzy
2012-08-09
chenhong53 写道
你好,我想问一下,能不能给一组精灵数组中的精灵添加触屏优先级,让我们点击两个有部分重叠的精灵后获得我们想要点击的精灵呢?
你可以自定义不同的精灵类,设置不同的触屏优先级,添加到数组
1 楼
chenhong53
2012-08-09
你好,我想问一下,能不能给一组精灵数组中的精灵添加触屏优先级,让我们点击两个有部分重叠的精灵后获得我们想要点击的精灵呢?
发表评论
-
cocos2d-x CCClippingNode遮罩实现手电筒效果
2013-07-09 20:14 2243详情请参考:【Software Myzone】:http:// ... -
Cocos2d: Stencil buffer is not enabled.
2013-07-05 10:47 1618详情请参考:【Software Myzone】:http:// ... -
[2.1.3]修改SearchPaths的三种方式【熊猫版】
2013-06-24 09:44 869详情请参考:【Software Myzone】:http:// ... -
深入理解 Cocos2d-x 内存管理 转
2013-06-24 09:43 800详情请参考:【Software Myzone】:http:// ... -
cocos2d-x场景缩放后的区域碰撞检测
2013-06-24 09:31 1412详情请参考:【Software Myzone】:http:// ... -
编译CSArmature到Android
2013-05-29 09:09 773详情请参考:【Software Myzone】:http:// ... -
TexturePacker 图片加密 转
2013-05-29 09:09 882详情请参考:【Software Myzone】:http:// ... -
Cocos2d-x 屏幕适配新解 转
2013-05-28 13:21 897详情请参考:【Software Myzone】:http:// ... -
cocos2d-x 使用TinyXML2存储数据:FDTinyXML2
2013-05-09 14:31 1070详情请参考:【Software Myzone】:http:// ... -
TinyXML2 学习
2013-05-09 14:31 795详情请参考:【Software Myzone】:http:// ... -
cocos2d-x 精灵的移动遮罩[手电筒效果]
2013-05-02 09:41 1096详情请参考:【Software Myzone】:http:// ... -
Android平台中进程与线程的基本知识
2013-05-02 09:41 730详情请参考:【Software Myzone】:http:// ... -
Jumper类游戏制作【Forest Run】
2013-04-24 16:20 547详情请参考:【Software Myzone】:http:// ... -
Cocos2D 如何做 Android 适配 转
2013-04-22 16:48 651详情请参考:【Software Myzone】:http:// ... -
类似Temple Run 游戏恢复的321倒计时实现
2013-04-22 16:47 1040详情请参考:【Software Myzone】:http:// ... -
工具库:UtilTools
2013-04-22 16:47 692详情请参考:【Software Myzone】:http:// ... -
C++的深拷贝与浅拷贝
2013-04-03 10:23 779详情请参考:【Software Myzone】:http:// ... -
Cocos2d-x Win32下的节点缩放原理研究心得【熊猫版】
2013-04-03 10:23 882详情请参考:【Software Myzone】:http:// ... -
Cocos2d-x 节点绘制流程研究心得【熊猫版】
2013-04-03 10:22 802详情请参考:【Software Myzone】:http:// ... -
基于cocos2d-x的游戏客户端优化
2013-04-03 10:22 730详情请参考:【Software Myzone】:http:// ...
相关推荐
在Cocos2D-X中处理按键事件是游戏交互的重要部分,它允许开发者响应用户的输入,实现游戏逻辑或者界面控制。这篇学习笔记将深入探讨如何在Cocos2D-X中实现按键事件的处理。 首先,Cocos2D-X使用了事件系统来处理...
首先,我们要了解Cocos2d-x中的事件分发系统。在3.0版本之后,事件处理不再直接在节点上进行,而是通过事件监听器(EventListener)和事件分发器(EventDispatcher)来完成。事件分发器负责接收和分发事件到相应的...
cocos2d-x提供了一些工具和技巧来帮助开发者优化帧率,例如使用`drawOrder`属性调整绘制顺序,避免不必要的计算,以及使用`scheduleUpdateWithPriorityLua`方法来控制更新的优先级。 总结,通过这个双枪手游戏实例...
1. CCEventListenerTouchOneByOne:这是cocos2d-x中处理单个触摸事件的基础类。通过继承并重写其`onTouchBegan`、`onTouchMoved`和`onTouchEnded`等方法,我们可以实现基本的手势识别。 2. CCTargetedTouchDelegate...
### cocos2d-x 触摸事件讲解 在游戏开发领域,特别是移动平台上的游戏开发,交互体验至关重要。本文将深入探讨cocos2d-x框架下的触摸事件处理机制,旨在帮助开发者更好地理解和掌握如何通过cocos2d-x实现高质量的...
4. **调度器(Scheduler)**:Cocos2d-x的调度器是一个线程安全的组件,它负责安排任务的执行,可以控制任务的优先级和执行间隔。开发者可以通过调度器定时执行任务,或者在特定的时间点触发事件,这在多线程环境中...
Cocos2D-X允许你为事件监听器设置优先级,以决定哪个监听器先接收到事件。优先级越高,先被调用。通过`setPriority`方法可以设置监听器的优先级。 5. 多点触控 Cocos2D-X同时支持多点触控。每个触点都会生成一个...
在cocos2d-x游戏开发框架中,"schedule"是一个至关重要的概念,它涉及到游戏循环、时间管理和事件调度。这份"Cocos2d-x学习笔记(13)--schedule .rar"很可能是深入讲解如何使用和理解cocos2d-x中的调度系统。让我们...
在Cocos2d-x这个强大的2D游戏开发框架中,计时器(Scheduler)是一个至关重要的组件,它允许开发者在特定的时间间隔内执行指定的函数或任务。计时器的使用能够帮助游戏开发者精确控制游戏逻辑,比如动画帧率、定时...
本篇我们将深入探讨一个名为"TouchSpriteDemo"的示例,该示例展示了如何在cocos2d-x环境中实现对触碰事件的响应,让精灵(ccsprite)具备互动性。 首先,让我们理解一下cocos2d-x中的"ccsprite"。ccsprite是cocos2d...
Cocos2d提供了事件系统,允许开发者监听和响应用户的触摸、按键等输入,比如当玩家点击屏幕时,触发锤子的投掷动作。 资源管理也是游戏开发的关键部分。Cocos2d支持图片、音频、字体等多种资源的加载和管理,确保...
5. **注意事项**:在Cocos2D中使用手势识别器时,需要注意手势之间的冲突和优先级。可能需要设置手势的`requireGestureRecognizerToFail:`属性,以确保只有特定的组合手势才会被识别。 通过这个源码示例"Gesture...
在游戏开发领域,Cocos Creator是一款广泛使用的2D游戏引擎,以其高效、易用和强大的功能深受开发者喜爱。本压缩包"InspectorDebug.zip"包含了使用Cocos Creator构建的游戏工程,其中涉及到的关键知识点包括游戏项目...