我是Cocos2D的新手。我正在和几个人一起写一本互动的“书”,里面有一些年轻人(4岁以下)不识字的小游戏。我从构建一个背景(Cocos2D)开始,并能够添加Sprite(使用SpriteSheets和TexturePacker),并使用plists为它们添加动画。我想知道是否有可能在plist中添加音效。例如:其中一个精灵有一个动画“尖叫”。如果在plist中加入相应的声音,那就太好了!这也使得动画和声音由更具艺术性的人创造出来。我的经验是我自己写这段代码太小了。
发布于 2012-01-29 04:57:25
有很多方法可以做到这一点,但我不认为应该为了支持其他目的而破坏动画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’所需的所有信息。
我确信你的游戏最终将需要动画和声音播放之间的多个协调实例。
发布于 2012-01-29 03:31:57
不,没有这样的过程,但是您可以通过为它安排一个选择器来管理它
像这样:
用于调度[self schedule:@selector(playSound) interval:1.0f];
-(void)playSound
{
[[SimpleAudioEngine SharedEngine]playEffect:@"sound1.mp3"];
[self unschedule:@selector(playSound)];
}https://stackoverflow.com/questions/9046968
复制相似问题