Flash 闪光:声音在不应该播放的时候播放

Flash 闪光:声音在不应该播放的时候播放,flash,audio,Flash,Audio,我在做一个闪塔防御游戏。我有一个叫做towers的剪辑。在这个剪辑中,你可以找到所有的塔类型火,毒,冰,等等。我基本上在这里选择正确的塔类型。所有这些塔类型也是剪辑,在这些剪辑中,你可以找到这种塔类型的演变每次升级你的塔,它的外观变化…这是一个演变。每一次进化都是一个片段,在这个片段中有一个声音,我必须在塔楼射击敌人时播放这个声音。我真的去玩射击 问题是,我们可以听到塔,即使有一个停止,应该没有任何声音。我注意到了一件事。如果我去掉每种塔类型的第一次进化的声音,一切都正常,我把一些塔放在地图上,

我在做一个闪塔防御游戏。我有一个叫做towers的剪辑。在这个剪辑中,你可以找到所有的塔类型火,毒,冰,等等。我基本上在这里选择正确的塔类型。所有这些塔类型也是剪辑,在这些剪辑中,你可以找到这种塔类型的演变每次升级你的塔,它的外观变化…这是一个演变。每一次进化都是一个片段,在这个片段中有一个声音,我必须在塔楼射击敌人时播放这个声音。我真的去玩射击

问题是,我们可以听到塔,即使有一个停止,应该没有任何声音。我注意到了一件事。如果我去掉每种塔类型的第一次进化的声音,一切都正常,我把一些塔放在地图上,升级到它们的第二次进化,当它们射击时我能听到声音。我注意到了另外一件事:我不必消除剪辑塔中第一个塔的声音,和最后一个塔一样,它们工作得很好。这真的是因为他们是第一个也是最后一个。例如:火是我的第一座塔,冰是第二座塔。火可以正常工作,冰不行。如果我交换它们,冰就可以正常工作,火就不能工作。只有第一个塔和最后一个塔在工作

这让我相信,我的剪辑层次结构太复杂,无法包含声音,太复杂,无法包含flash。另外,我在同一个剪辑中混合了图形和声音,我应该创建一个只包含声音的剪辑吗


这给我留下了一张wtf脸。我真的不明白发生了什么事。如果不清楚,请询问更多细节。谢谢。

从你所说的,我想,你是在把声音直接拖进电影的嘴唇。这不是个好主意,管理起来一定很痛苦

相反,我推荐以下选项之一: 1当塔被建造、点击、开火或调用播放声音功能时,播放适当的声音文件:

function playSound():void {
  var mySound:Sound = new Sound();
  mySound.load(new URLRequest("towerFireSound.mp3"));
  mySound.play();
}
2如果您不想使用外部文件,可以将声音导入到库中,并在该声音的属性中选中导出actionscript。而不是像这样玩

function playSound():void {
    var mySound:Sound = new TowerFireSound(); 
    mySound.play();
}

有时,当它变得太复杂时,将时间线抛在脑后,考虑使用FLA库中的图形资源和声音来实现基于游戏的类。。。