Cocos2dx 3.0 一些新用法。
来源:互联网 发布:致远oa数据库删除协同 编辑:程序博客网 时间:2024/06/06 01:17
在用到3.0的时候会有很多函数用法的改变,下面只是自己在使用的过程中常出现的。
单点触摸:
auto listener = EventListenerTouchOneByOne::create();listener->setSwallowTouches(true);listener->onTouchBegan = CC_CALLBACK_2(AnimationCollide::onTouchBegan, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
同样下面这种也是:
// Make sprite1 touchableauto listener1 = EventListenerTouchOneByOne::create();listener1->setSwallowTouches(true);listener1->onTouchBegan = [](Touch* touch, Event* event){auto target = static_cast<Sprite*>(event->getCurrentTarget());Point locationInNode = target->convertToNodeSpace(touch->getLocation());Size s = target->getContentSize();Rect rect = Rect(0, 0, s.width, s.height);if (rect.containsPoint(locationInNode)){//target->setOpacity(180);return true;}return false;};listener1->onTouchMoved = [](Touch* touch, Event* event){// auto target = static_cast<Sprite*>(event->getCurrentTarget());// target->setPosition(target->getPosition() + touch->getDelta());};listener1->onTouchEnded = [=](Touch* touch, Event* event){auto target = static_cast<Sprite*>(event->getCurrentTarget());log("sprite onTouchesEnded.. ");//target->setOpacity(255);if (target == sprite2){sprite2->setLocalZOrder(100);}else{sprite2->setLocalZOrder(20);}if(target == sprite1)
{sprite1->setLocalZOrder(100);
}else{sprite1->setLocalZOrder(10);}if(target == sprite3){sprite3->setLocalZOrder(100);}else{sprite3->setLocalZOrder(30);}};
这个方法是在Testcpp里面,具体的效果是点击到那张图片后可以拖动,同时它的Zorder会升高。
在上面的代码中出现了 CC_CALLBACK_2 和
listener1->onTouchBegan = [](Touch* touch, Event* event)、listener1->onTouchEnded = [=](Touch* touch, Event* event)
第一个:
CC_CALLBACK_0CC_CALLBACK_1CC_CALLBACK_2CC_CALLBACK_3
关于上面我简单的理解就是回调函数中所使用的几个参数。更加详细的可以看这个位置 详细讲解
第二个:
listener1->onTouchBegan = [](Touch* touch, Event* event)、listener1->onTouchEnded = [=](Touch* touch, Event* event)
关于onTouchBegan 的不明白的 详细的讲解 点击打开链接
暂时写这么多。。。
0 0
- Cocos2dx 3.0 一些新用法。
- cocos2dx-3.0(23) ScrollView 缩放 及 touch新用法
- cocos2dx-3.0(23) ScrollView 缩放 及 touch新用法
- unity3d 一些新用法
- cocos2dx 3.0一些变化
- 创建新的Cocos2dx 3.0项目并解决一些编译问题
- xcode下cocos2dx 3.0的一些使用
- cocos2dx 3.0 的一些数学函数
- 在用vs2010导入一个cocos2dx 新工程时遇到的一些问题
- cocos2dx-3.0rc0安装和创建新工程
- 利用 Cocos2dx-3.0 新物理特性模拟弹珠迷宫
- cocos2dx-3.0rc0安装和创建新工程
- C++ 11新特性在Cocos2dx 3.0应用
- cocos2dx-3.0rc0安装和创建新工程
- C++ 11新特性在Cocos2dx 3.0应用
- C++ 11新特性在Cocos2dx 3.0应用
- cocos2dx 3.0怎么导入模板到vs2013/创建新工程
- Java1.5新特性。Executors的一些用法
- Nginx+Tomcat+Memcached负载均衡
- 不同类型数组之间的数据拷贝
- 数学、半几何
- Linux使用Composer安装yii2的方法及bug处理
- 使用 P3P 规范让 IE 跨域接受第三方 cookie
- Cocos2dx 3.0 一些新用法。
- 正则表达式
- ios推送转详细
- 黑马程序员—java基础学习--GUI( 图形用户界面 )
- 开始写博客了
- CentOS 6 nginx安装部署phpssdbadmin
- ios TextField详解
- 利用js获取select的value和text值
- mysql的使用——linux上的安装步骤