我正在用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);
}
四个动画将一起运行。
是否有任何好的设计模式可以运行精灵'动画在任何用户想要的序列?
可以添加变量,例如vector<int> attackOrder
。
答案 0 :(得分:0)
如果您想按顺序放置一些Action
(来自TargetedAction),则需要使用TargetedAction
。
例如在你的情况下,你需要这样的东西:
auto sequnecedAction = Sequence::create(
TargetedAction::create(sprite1,sprite1attackAnimation),
TargetedAction::create(sprite2,sprite2attackAnimation), nullptr);
sprite1->runAction(sequnecedAction);