Cocos2d 将一个精灵与另一个精灵的动画同步



我正在尝试创建一个角色在Cocos2d中开枪的精灵动画。我正在努力寻找一种方法来实例化并开始在角色的加载/瞄准/射击动画的适当帧处移动子弹精灵。

例如,我的角色通过一个12帧的动画来开枪,子弹应该在第7帧释放。

有人能帮忙吗?

提前感谢Al

这里有一种方法,与我正在开发的游戏中的场景类似。我想在第10帧(共16帧)上安排一个"attackTurnAround"方法(制作伤害动画、受害者受伤等)。不要在"帧通知"上浪费时间,有时一帧会被跳过,你最终会没有通知。

警告:时机是关键。在达到这一点之前,我预加载了"attackTurnAround"中发生的所有事情,即受伤(或死亡)动画、伤害动画、当剑击中第10帧时听到的声音Fx等。。。。。

BattleAnimation *ba = [self attackerAttackAnination];
_attackerAttackSprite = ba.firstSprite;
[_attackerNode addChild:_attackerAttackSprite];
CCActionAnimate *anim     = [CCActionAnimate actionWithAnimation:ba.animation];
id              endAttack = [CCActionCallBlock actionWithBlock:^{
    [self endAttack];
}];
id              seq       = [CCActionSequence actions:anim, endAttack, nil];
_attackerAttackSprite.visible = YES;
_attackerIdleSprite.visible   = NO;
[_attackerAttackSprite runAction:seq];
[self scheduleOnce:@selector(attackTurnAround) delay:9. * ba.duration / 16.];

相关内容

最新更新