cocos2dx 3.x 精灵重叠时点击最上层的精灵
ps. 这个方法只适用设置精灵的触摸..
//注册触摸事件..3.X后可以在这样写..不需要重新声明
EventListenerTouchOneByOne *listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [](Touch* pTouch, Event* pEvent){
return true;
};
listener->onTouchMoved = [](Touch* pTouch, Event* pEvent){
};
listener->onTouchEnded = [](Touch* pTouch, Event* pEvent){
};
//注册精灵监听..第1个精灵和第2个精灵
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, spr);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), spr1);
另一种写法
//创建精灵
Size size = Director::getInstance()->getWinSize();
Sprite* sp1 = Sprite::create("sprite1.png");
sp1->setPosition(Point(size.width * 0.5f, size.height * 0.5f));
this->addChild(sp1);
Sprite* sp2 = Sprite::create("sprite2.png");
sp2->setPosition(Point(size.width * 0.5f, size.height * 0.5f));
this->addChild(sp2);
//注册触摸
EventListenerTouchOneByOne *listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan,this);
listener->onTouchMoved = CC_CALLBACK_2(HelloWorld::onTouchMoved,this);
listener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded,this);
listener->setSwallowTouches(true);
//注册精灵监听
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, sp1);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), sp2);
bool HelloWorld::onTouchBegan(cocos2d::Touch *pTouch, cocos2d::Event *pEvent){
//获取当前点击的精灵
Sprite* target = static_cast<Sprite*>(pEvent->getCurrentTarget());
if (target->getBoundingBox().containsPoint(pTouch->getLocation()))
return true;//点击到了
return false;
}
void HelloWorld::onTouchMoved(cocos2d::Touch *pTouch, cocos2d::Event *pEvent){
Sprite* target = static_cast<Sprite*>(pEvent->getCurrentTarget());
//触摸的图片移动
target->setPosition(target->getPosition() + pTouch->getDelta());
}
void HelloWorld::onTouchEnded(cocos2d::Touch *pTouch, cocos2d::Event *pEvent){
}
cocos2dx 3.x 精灵重叠时点击最上层的精灵的更多相关文章
- [COCOS2DX-LUA]0-006.cocos2dx中关于拖动屏幕物件,同时点击home键,返回后页面变黑的问题。
基本信息介绍: 引擎框架: Quick-Cocos2dx-Community-3.6 测试机型: 魅族MX5 问题简介: 有拖动效果的物件,在拖动的工程中,手指不放,同时点击home键退到后台. 再返 ...
- 仅Firefox中A元素包含Select时点击Select不能选择option
这是在使用京东的一个日期组件时碰到的bug,重现bug的代码精简如下 <!DOCTYPE HTML> <html> <head> <title> 仅Fi ...
- 截图技巧——鼠标按着不懂,同时点击截图快捷键(QQ为ctrl+alt+a)即可避免按下快捷键鼠标按下等操作消失截不到的尴尬。
截图技巧--鼠标按着不懂,同时点击截图快捷键(QQ为ctrl+alt+a)即可避免按下快捷键鼠标按下等操作消失截不到的尴尬.
- cocos2d-x 不规则形状按钮的点击判定
cocos2d-x 不规则形状按钮的点击判定 原理: 1.OpeGL ES提供了glReadPixels[^footnote]函数,来获取当前framebuffer上的像素数据 2.cocos2d-x ...
- iOS项目之同时点击多个按钮解决方案
自己的项目完成后,在测试中出现了一个情况,同时点击界面中的多个按钮,会跳转多个界面.然后又看了看别的app,发现也有这样的情况, 如图 上面是我手机上美团app的截图,上面的分类同时选择多个时,只能跳 ...
- listview 两个Item可以同时点击
android:splitMotionEvents="false" ListView的这个属性可以限制它不能同时点击两个Item
- cocos2dx 3.x(精灵的碰撞检测,点击移动与拖动精灵)
// // MainScene.hpp // helloworld // // Created by apple on 16/9/19. // // #ifndef MainScene_hpp #de ...
- cocos2d-x 在输入文字时点击语音crash
修改CCDirectorCaller.mm文件 (cocos2dx/platform/ios/CCDirectorCaller.mm) 添加的代码: #import <OpenGLES/EA ...
- Cocos2d-x设置吞没单击属性来避免精灵重叠被点击后的事件续传
代码如下: Size visibleSize = Director::getInstance()->getVisibleSize(); /* create two sprites which h ...
随机推荐
- ChemDraw Pro绘制无环链结构的两种方法
ChemDraw Pro 14是一款专门针对化学图形绘制而开发制作的编辑软件,是目前工科类常用的绘制化学结构工具,用于快速绘制常用的环结构组成.以下教程讲解ChemDraw Pro绘制无环链结构的两种 ...
- mybatis总结(三)之多表查询
上一节,已经把实体类和配置文件都写过了,这节课直接添加几个方法吧 在DeptMapper.xml文件中添加 <!-- 多表查询(1对多) ,通过部门编号,查询出部门所在的员工姓名,部门名,部门编 ...
- Pokémon Go呼应设计:让全世界玩家疯狂沉迷
引言:什么样的呼应设计会让移动游戏玩家沉迷?那必须为玩家构建一个属于玩家本人或者被玩家认可的虚拟环境.或者说是被玩家认可的虚拟世界.在移动游戏时代.想要做到这一点并不easy.但Pokémon Go却 ...
- Spring_day01--课程安排_Spring概念_IOC操作&IOC底层原理&入门案例_配置文件没有提示问题
Spring_day01 Spring课程安排 今天内容介绍 Spring概念 Spring的ioc操作 IOC底层原理 IOC入门案例 配置文件没有提示问题 Spring的bean管理(xml方式) ...
- 开源内容管理系统Joomla3.5发布 基于PHP 7
导读 作为深受广大站长喜爱的Joomla开源内容管理系统(Content Management System, CMS)正式推出3.5版本,这也是首个完全支持PHP 7语言开发的Joomla版本,基于 ...
- sessionStorage与localStorage
客户端存储数据的两个对象为: localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. 他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目 ...
- 【BZOJ2797】[Poi2012]Squarks 暴力乱搞
[BZOJ2797][Poi2012]Squarks Description 设有n个互不相同的正整数{X1,X2,...Xn},任取两个Xi,Xj(i≠j),能算出Xi+Xj.现在所有取法共n*(n ...
- iOS 按钮文字加划掉线
UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(, , , )]; NSDictionary *normalTitleAttribu ...
- Caused by: java.sql.SQLException: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@d7c365, see the next exception for details.
解决方法:https://stackoverflow.com/questions/37442910/spark-shell-startup-errors 异常: 18/01/29 19:04:27 W ...
- content: "\e600"
w图标生成原理. <style> @font-face { font-family: iconfont-sm; src: url(//at.alicdn.com/t/font_143340 ...