cocos2dx中的触摸事件及触摸优先级
1.只有CCLayer及其派生类才有触摸功能.
2.开启触摸
setTouchEnable(true);
3.设置触摸模式,单点,多点(仅IOS支持)
setTouchMode(kCCTouchesOneByOne);//单点触摸
4.需要重载(override)的四个触摸事件函数
bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);//点触事件,返回false,表示触摸事件不往下传递了
void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);//移动事件
void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);//结束事件
void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);//终止事件
5.获取点触的坐标点
pTouch->getLocation();
6.获取移动的相对位移delta
pTouch->getDelta();
7.判断精灵是否被点中,boundingBox(缩放后的大小),contentsize(实际的大小)
spr->boundingBox().containsPoint(pTouch->getLocation())==true?
8.设置触摸优先级及消息吞噬
/*导演获得触摸事件分发器*/
CCTouchDispatcher* pDispatcher = CCDirector::sharedDirector()->getTouchDispatcher();
/*-1表示消息的优先级,越小表示优先级越高,false表示不吞噬消息,设置为true表示消息在本层吞噬,不再往下传递*/
pDispatcher->addTargetedDelegate(this, -1, false);
函数原型:
void CCTouchDispatcher::addTargetedDelegate(CCTouchDelegate *pDelegate, int nPriority, bool bSwallowsTouches);
cocos2dx中的触摸事件及触摸优先级的更多相关文章
- cocos2dX 事件之触摸事件和触摸事件集合
今天, 我们来学习cocos2dX里面的触摸事件与触摸事件合集, 如今的手机游戏交互基本上都是通过触摸交互的, 所以大家明确这节的重要性了吧, 本节篇幅比較大, 所以我就不扯闲话了 先来看看经常使用函 ...
- 深入cocos2d-x中的touch事件
深入cocos2d-x中的touch事件 在文章cocos2d-x中处理touch事件中简单讨论过怎样处理touch事件, 那么今天来深入了解下cocos2d-x中是怎样分发touch事件的. 我们最 ...
- cocos2d-x游戏引擎核心之五——触摸事件和触摸分发器机制
一.触摸事件 为了处理屏幕触摸事件,Cocos2d-x 提供了非常方便.灵活的支持.在深入研究 Cocos2d-x 的触摸事件分发机制之前,我们利用 CCLayer 已经封装好的触摸接口来实现对简单的 ...
- cocos2d-x中处理touch事件
在cocos2d-x中, touch事件分为两种:一种是单点事件, 另一种是多点事件. 单点事件对应的代理方法是: virtual bool ccTouchBegan(CCTouch *pTouch, ...
- cocos2d-x中关于touch事件的响应
原作者:有缘人 来源:新浪微博 地址:http://blog.sina.com.cn/s/blog_6ac2c7260102vvdu.html 一.touch事件响应分为单点触摸响应和多点触摸响应. ...
- cocos2d-x触摸事件优先级的探究与实践
如何让自定义Layer触发触摸事件? bool LayerXXX::init() { this->setTouchEnabled(true); CCTouchDispatcher* td = C ...
- cocos2d-x触摸事件优先级
CCTouchDispatcher是管理cocos2d-x中全部Touch事件派发的类, CCTouchDispatcher中包括了两个CCTouchHandler的列表, 分别存储Standa ...
- Cocos2d-x 学习笔记(16) 触摸事件与分发 EventTouch dispatchTouchEvent EventListenerTouch
1. EventTouch 触摸事件的成员变量:枚举EventCode.存储Touch的容器. 不同的EventCode代表不同时机的触摸事件,能让监听器调用不同的回调函数. enum class E ...
- iOS中—触摸事件详解及使用
iOS中--触摸事件详解及使用 (一)初识 要想学好触摸事件,这第一部分的基础理论是必须要学会的,希望大家可以耐心看完. 1.基本概念: 触摸事件 是iOS事件中的一种事件类型,在iOS中按照事件划分 ...
随机推荐
- Oracle数据库作业-2 添加主键 外键
一.在表student中添加主键sno
- C# Tips: Draw a data table in console
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- hive sql 语法详解
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...
- Ajax Array Json 示例
function functionName(){ var list=new Array(); $("td.classA").each(function(){ list.push($ ...
- 二叉树-你必须要懂!(二叉树相关算法实现-iOS)
这几天详细了解了下二叉树的相关算法,原因是看了唐boy的一篇博客(你会翻转二叉树吗?),还有一篇关于百度的校园招聘面试经历,深刻体会到二叉树的重要性.于是乎,从网上收集并整理了一些关于二叉树的资料,及 ...
- C 【block类型全方位详解】
------------------------------------------- block变量的概念 #import <Foundation/Foundation.h> int m ...
- tcpServer 浅显的发一代码
接下来发出来的一段代码也是我从网上找的一个例子,具体的来源已经找不到了,跟作者说声抱歉 ,现在公司做机票,出于性能的原因,就重写一个底层的tcp请求(不是我写的) 下面测试的是个控制台应用程序 Htt ...
- 将mysql的查询结果输出到文件
在sql命令中我们可以查询到前数行的表,同时也可以将查询结果输出到txt文档 语句:select * from tablename into outfile 'filename.txt'; 例如:se ...
- boost:program_options
由于系统库getopt和getopt_long用起来不够直观,仔细看了下boost发现Boost.Program_options可以满足我的需求,它和getopt系列函数一样,可以抓起命令行参数,这里 ...
- Android 悬浮窗 WindowManager WindowManager.LayoutParamas
前方高清大图~~~~ 绘制的图片资源: // draw bitmap BitmapDrawable bmpDraw = (BitmapDrawable) getResources().getDrawa ...