【Cocos2d-x3.0学习笔记 05】嗯,更进一步学习
来源:互联网 发布:js 计算时间间隔 编辑:程序博客网 时间:2024/05/16 07:03
1.MoveTo和MoveBy
MoveTo* moveTo = MoveTo::create(0.9f,Point(250,150));sprite->runAction(moveTo);
- 第一个参数:动作持续时间
- 第二个参数:要移动的目标位置
MoveBy* moveBy = MoveBy::create(0.9f,Point(250,150));sprite->runAction(moveBy);
- 第一个参数:动作持续时间
- 第二个参数:要移动的距离
2.ScaleTo和ScaleBy
ScaleTo是变成多少倍拉伸,ScaleBy是再次拉伸多少倍
ScaleTo* scaleTo = ScaleTo::create(2.8f,0.4f,1.0f);sprite->runAction(ScaleTo);
- 第一个参数:持续时间
- 第二个参数:X方向上的拉伸值
- 第三个参数:Y方向上的拉伸值
ScaleBy* scaleBy = ScaleBy::create(2.8f,0.4f,1.0f);sprite->runAction(scaleBy);
3.Blink闪烁动画
Blink* blink = Blink::create(2.8f,3);sprite->runAction(blink);
- 第一个参数:持续时间
- 第二个参数:闪烁次数
4.BezierTo和BezierBy
贝赛尔曲线运动
//创建贝塞尔曲线的配置ccBezierConfig config;config.controlPoint_1 = Point(100,0);//波谷偏向值config.controlPoint_2 = Point(200,250);//波峰偏向值config.endPosition = Point(300,50);//动作终点BezierTo* bezierTo= BezierTo::create(2.8f,3);sprite->runAction(bezierTo);BezierBy是从当前位置进行偏移的
5.RepeatForever
//创建jumpBy 作用:创建一个跳的动作// // 参数1:跳到目标动作位子的所需时间// // 参数2:目标位置// // 参数3:跳的高度// // 参数4跳到目标位置的次数JumpBy* jumpBy= JumpBy::create(2.8f,Point(50,1),100,1);//创建永久重复动作jumpRepeatForever* rf = RepeatForever::create(jumpBy);//创建指定次数的jumpByRepeat r = Repeat::create(jumpBy,3);sprite->runAction(rf);
6.Sequence与Spawn动作的集合
Blink* blink = Blink::create(2.8f,3);ScaleBy* scaleBy = ScaleBy::create(2.8f,0.4f,1.0f);MoveBy* moveBy = MoveBy::create(0.9f,Point(250,150));//创建组合动作Action* actions = Spawn::create(blink,scaleBy,moveBy,NULL);sprite->runAction(actions);所有动作一起执行了
将Spawn换成Sequence,动作依次执行
7.动作监听
ScaleBy* scaleBy = ScaleBy::create(2.8f,0.4f,1.0f);//回调对象也是一个动作,这个动作调用了一个函数auto myFunc = [&](){sayHello();};CallFunc* call = CallFunc::create(myFunc);Action* actions = Sequence::create(scaleBy,call,NULL);sprite->runAction(actions);
8.lambda函数
auto myFunc = [&](){sayHello();}
- []符号,表示要开始一个lambda函数;
- ()符号,填写函数的参数
- {}符号,函数的内容
[]符号中可以填写的内容
- []:不截取任何变量
- [&]:截取外部作用域中的变量,并且作为引用在lambda函数中使用
- [=]:截取外部作用域中的变量,并且复制一份到lambda函数中使用
- [=,&hehe]:和[=]功能一样,但是对hehe变量是引用
- [hehe]:和[=]功能一样,但只针对hehe变量,其他忽略
9.屏幕触摸事件
①单点触摸
//创建auto listener = EventListenerTouchOneByOne::create();//触摸开始,移动,结束listener->onTouchBegan = [](Touch* touch,Event* event){//取出当前点击的对象auto target = static_cast<Sprite*>(event->getCurrentTarget());return true;};listener->onTouchMoved = [](Touch* touch,Event* event){};listener->onTouchEndEd = [](Touch* touch,Event* event){};//截取监听,不传给其他人listener->setSwallowTouches(true);//注册触摸监听_eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);
②多点触摸
//创建auto listener = EventListenerTouchAllAtOnce::create();//触摸开始,移动,结束listener->onTouchesBegan = [](const_std::vector<Touch*>& touches,Event* event){};listener->onTouchesMoved = [](const_std::vector<Touch*>& touches,Event* event){};listener->onTouchesEndEd = [](const_std::vector<Touch*>& touches,Event* event){};//注册触摸监听_eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);
0 0
- 【Cocos2d-x3.0学习笔记 05】嗯,更进一步学习
- Cocos2d-x3.0 学习笔记1
- 【Cocos2d-x3.0学习笔记 04】进一步的学习
- cocos2d-x3.0学习1
- Cocos2d-x3.0RC2 Label 学习笔记二
- 【Cocos2d-x3.0学习笔记 00】写在前面的话
- 【Cocos2d-x3.0学习笔记 01】熟悉的环境搭建
- 【Cocos2d-x3.0学习笔记 02】HelloWorld,你懂得
- 【Cocos2d-x3.0学习笔记 03】一些基本的使用
- 【Cocos2d-x3.0学习笔记 06】游戏时间到LitterRunner01
- 【Cocos2d-x3.0学习笔记 07】游戏时间到LitterRunner02
- 【Cocos2d-x3.0学习笔记 08】精灵来了
- 【Cocos2d-x3.0学习笔记 11】Schedule的使用01
- cocos2d-x3.0 lua学习(一)
- Cocos2d-x3.0 Node源码学习
- cocos2d-x学习笔记——cocos2d-x3.0回调函数的变化
- [cocos2d-x3.x学习笔记]坐标系 锚点 Z值
- cocos2d-x3.0开发笔记 物理引擎封装Physics深入学习
- Yii 直接执行SQL语句
- Java图片处理开源框架--Thumbnailator使用简介
- 最近遇到的安卓问题总结
- 2014-10-28 记录
- 总结_10-28
- 【Cocos2d-x3.0学习笔记 05】嗯,更进一步学习
- iphone 编程实现发短信功能
- C2第六次作业解题报告
- 《新闻》之笔记四
- 11gR203RAConHP Install
- c中关键字static的具体作用是什么
- 360手机卫士:测试类的优化
- 字符串——String 练习
- Linux一键安装web环境全攻略(阿里云服务器)