【问题标题】:Cocos2d-x turn based RPG game: run characters' attack animation in sequenceCocos2d-x回合制RPG游戏:按顺序运行角色的攻击动画
【发布时间】:2015-01-06 05:04:53
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: cocos2d-x cocos2d-x-3.0


    【解决方案1】:

    当你想把一些Actions(来自TargetedAction)按顺序排列时,你需要使用TargetedAction

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-02
      相关资源
      最近更新 更多