Cocos2d-x动作学习笔记

前端之家收集整理的这篇文章主要介绍了Cocos2d-x动作学习笔记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Action类如其名,它可以改变Node对象的属性,Action对象是随着时间改变Node的属性。任何一个以Node为基类的对象都有可执行的动作对象。例如,你可以在一个时间段内将Sprite精灵从一个位置移动到另一个位置。 每个动作都有By和To两个状态。为什么呢?因为它们所执行的结果是不同的。By相当于这个节点是相对的。To是绝对的,意思是它并不考虑到这个节点的当前状态。 移动(Move) 在规定的时间内移动Node的位置。 auto mySprite = Sprite::create("mysprite.png"); // Move a sprite to a specific location over 2 seconds. auto moveTo = MoveTo::create(2,Vec2(50,0)); mySprite->runAction(moveTo); 旋转(Rotate) 在2秒内顺时针旋转Node。 auto mySprite = Sprite::create("mysprite.png"); // Rotates a Node to the specific angle over 2 seconds auto rotateTo = RotateTo::create(2.0f,40.0f); mySprite->runAction(rotateTo); 缩放(Scale) 在两秒内将Node放大10倍 淡入淡出 Node淡入 FadeIn修改透明度的值(0~255之间)。与之相反的动作是“淡出” 色调(Tint) Tint使节点的NodeRGB从当前值改变到用户设置值。 动画(Animate) 通过Animate可以很容易地实现精灵的帧动画效果。只要简单的每隔一段时间替换_display frame_即可。 减速(Easing) Easing用一个给定的加速度来使动画更加顺畅。需要记住的是,无论速度快慢,ease动作总是同时开始和结束。在游戏中如果你想模拟一些物理特效,但又不想过度且麻烦地使用多个非常基本的动作,那么此时Ease动作将是模拟物理特效的一个 Sequence可以使一系列的动作对象按顺序执行。这一系列对象可以是任何数量的动作对象、函数,甚至是另外一个序列动作。函数?是的!Cocos2d-x中有一个CallFunc对象,它允许你创建一个function()函数并可以传递到Sequence中执行。这就允许你在序列动作对象中添加自己的函数功能,而不是仅仅局限于Cocos2d-x中提供的动作对象。 Spawn Spawn与Sequence类似,不同的是使用Spawn时所有动作是同时执行的。你可以有很多动作对象,甚至其他Spawn对象。 Reverse(逆序) Reverse的作用完全像它的名字一样,例如运行一系列动作时,你完全可以调用reserve()函数使动作逆序执行。然而,这并不只是简单的逆序运行,实际上还将原始的Sequence和Spawn的属性也转换为逆序。 Using the Spawn example above reversing is simple. 上面Spawn中的例子使用逆序就会很简单: // reverse a sequence,spawn or action mySprite->runAction(mySpawn->reverse()); 大部分Action和Sequence对象都是可逆的!

猜你在找的Cocos2d-x相关文章