我正在尝试创建一个角色在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.];