是否可以在Cocos2D中为动画plist添加声音和效果

时间:2012-01-28 16:47:45

标签: ios animation cocos2d-iphone

我是Cocos2D的新手。我正在与一些人合作制作一本互动式“书”,其中包括一些无法阅读的年轻人(4岁以下)的小游戏。 我从构建背景(Cocos2D)开始,并且能够添加Sprite(使用SpriteSheets和TexturePacker)并使用plist动画化它们。我想知道是否可以在plist中添加声音效果。例如:其中一个Sprites有一个动画“尖叫”。如果相应的声音被包含在plist中,那将是非常好的!这也使得更具艺术性的人们能够创造出动画和声音。 我的经验是小到自己编写这段代码。

2 个答案:

答案 0 :(得分:0)

不,没有这样的程序,但您可以通过为该

安排选择器来管理它

像:

用于安排[self schedule:@selector(playSound) interval:1.0f];

-(void)playSound
{
      [[SimpleAudioEngine SharedEngine]playEffect:@"sound1.mp3"];
      [self unschedule:@selector(playSound)];
}

答案 1 :(得分:0)

有很多方法可以做到这一点,但我不认为动画plist格式应该被修复以支持其他目的。对于这种情况,我倾向于创建“元数据”(也可以是plist格式,但也可以在数据库中)。通常,这个元数据在游戏开始时永远加载到核心。例如,从我的一个游戏中,使用以下代码:

    [self addToDictionary:dic
                  key:@"improvedCheapShot" 
                 name:@"Cheap Shot +" 
    characterClassKey:@"rogue" 
          rankInClass:3 costBP:3 skillSpeed:2 skillPower:150   skillRange:0 
           isMapSkill:NO isMultiTargetSkill:NO
       isHealingSkill:NO isProtectingSkill:NO
           damageType:geDamageTypePhysical 
         effectImpact:geEffectImpactNotApplicable
              toolTip:@"Strikes the weakest foe in melee range, ignoring its defense. Damage is increased by 20%." 
              soundFx:@"sound_fx_skill_sword5.mp3"
  damageAnimationSpec:[GECombatDamageAnimation damageMagicAnimation:geDamageMagicAnimationSoldier   
                                                            playerFile:nil
                                                               CPUfile:@"magie_cheapShot"
                                                                frames:15]


 ];

这是来自我的单身类的combatSkillSpecifications,只显示了一项技能(很多)。在那里,我保留了'skillExecutionController'和'skillAnimationSequencer'所需的所有信息。

我确信你的游戏最终需要动画和声音播放之间的多个协调实例。