cocos2d中的序列和Spawns

前端之家收集整理的这篇文章主要介绍了cocos2d中的序列和Spawns前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

让精灵在屏幕中进行移动就是我们想要的最终结果了吗?当然不是。可不可以运行多个动作呢?是的,没问题,Cocos2d-x通过几个方式来支持这种操作。

就如同它的名字,一个序列Sequence就是多个动作按钮一定顺序进行排列。需要按反方向来播放序列动作?也没问题,Cocos2d-x也支持这个操作。

看一下面的例子,通过序列Sequence逐步移动一个精灵Sprite:

这个Sequence很容易创建:

auto mySprite = Node::create()
 
// move to point 50,10 over 2 seconds
auto moveTo1 = MoveTo::create(2,Vec2(50,10));
 
// move from current postion by 100,10 over 2 seconds
auto moveBy1 = MoveBy::create(2,Vec2(100,10));
 
// move to point 150,10 over 2 seconds
auto moveTo2 = MoveTo::create(2,Vec2(150,10));
 
// create a delay
auto delay = DelayTime::create(1);
 
mySprite->runAction(Sequence::create(moveTo1,delay,moveBy1,delay->clone(),moveTo2,nullptr));
本例中按顺序播放序列中的每一个动作,如何同步一起运行这些动作?Cocos2d-x也支持这个操作,它称做 Spawn 会在同一时间播放所有指定的动作。有一些可能比别的稍长一些,所以出现这种情况动作的播放不会在同一时间完成。

auto myNode = Node::create()
 
auto moveTo1 = MoveTo::create(2,10));
auto moveBy1 = MoveTo::create(2,10));
auto moveTo2 = MoveTo::create(2,10));
 
myNode->runAction(Spawn::create(moveTo1,nullptr));

为什么要使用 呢?有什么理由吗?当然!当游戏的主角获得能力提升时要播放多个动作的时候。当BOSS战的最后阶段需要同时播放多个动作来终结的时候。 原文链接:https://www.f2er.com/cocos2dx/344225.html

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