基于Cocos2d-x回合制RPG游戏:按顺序运行角色的攻击动画

时间:2015-01-06 05:04:54

标签: cocos2d-x cocos2d-x-3.0

我正在用Cocos2d-x 3.3final构建一个回合制RPG游戏。我有四个精灵,比如sprite1,sprite2,sprite3和sprite4。每个都有一个相关的攻击动画(类类型Animate *),比如sprite1attack,sprite2attack,sprite3attack,sprite4attack。

在战斗中,这些角色的攻击顺序每转一圈都会根据用户的操作而变化。在我的代码中,我希望有一个菜单回调函数,可以在用户单击其关联按钮时依次运行四个角色的攻击动画:

void onStart(){

}

如果我将其编码为:

void onStart(){
    sprite1->runAction(sprite1attack);
    sprite2->runAction(sprite2attack);
    sprite3->runAction(sprite3attack);
    sprite4->runAction(sprite4attack);
}

四个动画将一起运行。

是否有任何好的设计模式可以运行精灵&#39;动画在任何用户想要的序列? 可以添加变量,例如vector<int> attackOrder

1 个答案:

答案 0 :(得分:0)

如果您想按顺序放置一些Action(来自TargetedAction),则需要使用TargetedAction

例如在你的情况下,你需要这样的东西:

auto sequnecedAction = Sequence::create(
TargetedAction::create(sprite1,sprite1attackAnimation), 
TargetedAction::create(sprite2,sprite2attackAnimation), nullptr);

sprite1->runAction(sequnecedAction);