gpt4 book ai didi

Flash:不应该播放的声音正在播放

转载 作者:行者123 更新时间:2023-12-03 02:23:25 26 4
gpt4 key购买 nike

我正在制作一个闪光塔防游戏。我有一个叫做“塔”的剪辑。在该剪辑中,您可以找到所有类型的塔(火、毒、冰等)。我基本上做gotoAndStop("tower type here")选择正确的塔。所有这些“塔类型”也是剪辑,在这些剪辑中你可以找到这种塔类型的演变(每次你“升级”你的塔,它的外观都会改变......这是一个演变)。每个进化都是一个剪辑,在那个剪辑中有一个声音(当塔射击敌人时我必须播放的声音)。我愿意 gotoAndPlay("shoot") .

问题是,即使有 stop(),我们也能听到塔的声音。并且不应该有任何声音。我注意到了一些事情。如果我删除每种塔类型的第一次进化的声音,一切正常,我在 map 上放置了一些塔,将它们升级到第二次进化,当它们射击时我可以听到声音。我注意到了另一件事:我不必删除剪辑“塔”中第一个塔的声音,与最后一个塔一样,它们工作正常。这真的是因为他们是第一个也是最后一个。例如:火是我的第一塔,冰是第二塔。火工作正常,冰不是。如果我交换它们,那么冰可以正常工作而火不能正常工作。只有第一个塔和最后一个塔在工作。

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

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

最佳答案

从你所说的,我想,你正在将声音直接拖放到 MovieClips 中。这不是个好主意,管理起来一定很痛苦。

相反,我推荐以下选项之一:
1)当塔被 build ,或点击,或触发或任何调用 playSound 函数时,播放适当的声音文件:

function playSound():void {
var mySound:Sound = new Sound();
mySound.load(new URLRequest("towerFireSound.mp3"));
mySound.play();
}

2) 如果您不想使用外部文件,您可以将声音导入到库中,并在该声音的属性中选中“Export for actionscript”。不如这样玩
function playSound():void {
var mySound:Sound = new TowerFireSound();
mySound.play();
}

关于Flash:不应该播放的声音正在播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com