CCLayer中的setTouchEnabled(true)会开启多点触摸。
如果使用CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0,true);
只会开启一个点的触摸。
当HelloWorld::ccTouchBegan返回为false的时候,TouchDispatcher将会相应下一个优先级的触摸代理。
bool HelloWorld::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent) {
return false;
}
,如果在HelloWorld中没有设置setTouchEnabled(true),将不会响应其他触摸,因为程序中没有其他的触摸代理了。
当HelloWorld::ccTouchBegan返回为true的时候,在界面上滑动就会调用HelloWorld::ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
在CCLayer中,默认是没有开启触摸的,如果需要相应多点触摸事件,就必须setTouchEnabled(true)。
下面看看CCLayer中的setTouchEnabled,如果设置为true,就会以0为优先级来注册触摸监听代理,优先级的值越小,优先级越高,触摸响应是按照优先级来排列响应的。
void CCLayer::setTouchEnabled(bool enabled)
{
if (m_bIsTouchEnabled != enabled)
{
m_bIsTouchEnabled = enabled;
if (m_bIsRunning)
{
if (enabled)
{
this->registerWithTouchDispatcher();
}
else
{
// have problems?
CCDirector* pDirector = CCDirector::sharedDirector();
pDirector->getTouchDispatcher()->removeDelegate(this);
}
}
}
}
void CCLayer::registerWithTouchDispatcher()
{
CCDirector* pDirector = CCDirector::sharedDirector();
if (m_pScriptHandlerEntry)
{
if (m_pScriptHandlerEntry->isMultiTouches())
{
pDirector->getTouchDispatcher()->addStandardDelegate(this, 0);
LUALOG("[LUA] Add multi-touches event handler: %d", m_pScriptHandlerEntry->getHandler());
}
else
{
pDirector->getTouchDispatcher()->addTargetedDelegate(this,
m_pScriptHandlerEntry->getPriority(),
m_pScriptHandlerEntry->getSwallowsTouches());
LUALOG("[LUA] Add touch event handler: %d", m_pScriptHandlerEntry->getHandler());
}
return;
}
pDirector->getTouchDispatcher()->addStandardDelegate(this,0);
}
转载请注明出处:http://buerkai.iteye.com
分享到:
相关推荐
cocos2d-x 触摸事件讲解 手机游戏 开发
cocos2d-x-3.2简单的多点触摸
Cocos2d-x3.0项目创建和VS2012编译 场景跳转和主菜单实现 游戏场景背景滚动 飞机动画和触摸控制 子弹发射 敌机实现 碰撞检测和加分 爆炸效果 粒子特效和音乐播放 判定死亡 移植到Android平台
Cocos2D-X开发学习笔记-触屏事件使用示例 教程地址:http://blog.csdn.net/yangyu20121224/article/details/10029143
在lua中用cocos2d-x重写触摸事件,让精灵,label,都能单独接收触摸事件
第1章 Cocos2D-X引擎的介绍 1 1.1 何为游戏引擎 1 1.1.1 游戏的核心—引擎 1 1.1.2 引擎的特点 2 1.1.3 知名的引擎介绍 4 1.1.4 引擎的分类 5 1.2 Cocos2D-X引擎的来历 8 1.3 引擎的版本 9 1.4 下载与安装 10 1.5 ...
钟迪龙所著的《Cocos2d-x游戏开发之旅(附光盘)》介绍Cocos2d-x的基础知识:基本知识、基本结构、控件、动作以及屏幕触摸事件的使用。介绍Cocos2d-x更高阶的内容,包括渲染效率的提高、动画、TexturePacker图片打包、...
第4~9 章讲解Cocos2d-x 的常见技术,包括基础类、动画、触摸、GUI 控件及多分辨率适配等;第10~12 章讲解Cocos2d-x 中的网络、文件、瓦片地图、物理引擎等知识;第13~15 章讲解Cocos2d-x 中的Lua 脚本语言开发、...
Cocos2d-x3.2刀塔三消游戏源码 触摸 移动 消除 掉落 核心游戏逻辑
cocos2d-x2.0 射击游戏实现 飞机类 子弹类 背景移动 用户触摸
cocos2d-x 地图双指缩放,单指拖动,双击自动放大
Cocos2d-x 自定义可接受处理触摸信息精灵类 一个简单的例子,基于cocos2dx-2.1.5版本
有关cocos2d-x面试的题目,以解决网上面试题目少的问题!
此版本为 参照 泰然网 cocos2d html5 王者之剑 改编C++ 版 此版本实现了简单的游戏打斗场景,一个英雄,一个怪物,可以控制英雄来回走动并且攻击,怪物实现简单 AI 并且自动攻击,有着不同的血量槽,控制系统,可以...
主要介绍了Cocos2d-x触摸事件实例,本文代码中包含大量注释来说明Cocos2d-x中的触摸事件使用示例,需要的朋友可以参考下
一个cocos2d-x的demo,主要是检测触摸事件的发生,进行相应操作