如果这是一个简单的问题或修复,我是一个 Flash 新手,所以很抱歉。无论如何,我在某些功能上遇到了问题。我注意到我只在尝试停止声音通道的功能上收到错误 1009。这是一些代码:
这是第一个场景的第一帧,只是设置我的频道。我所有的声音也都在这里完成,但我认为这些不是问题。
import flash.media.Sound;
import flash.media.SoundChannel;
var musicChannel:SoundChannel = new SoundChannel();
var speechChannel:SoundChannel = new SoundChannel();
var sfxChannel:SoundChannel = new SoundChannel();
这是导致 1009 错误的按钮之一的示例:
function goHome(e:MouseEvent):void {
speechChannel.stop();
sfxChannel.stop();
musicChannel.stop();
gotoAndPlay(2, "TitleScreen")
}
home.addEventListener(MouseEvent.CLICK, goHome);
现在真正让我困惑的是,同样的代码昨晚在我的电脑上完美运行。我去我大学的电脑上测试我的 .swf,我的动画冻结了,所以我检查了 Flash,这就是我得到的。
我在一些 TweenMax 的东西上也遇到了同样的 1009 错误。是的,我确实导入了所有必要的东西,并且这些函数运行所需的所有文件都在 .fla 文件的根目录中。我知道这一点,因为与其他错误一样,这些东西在我家里的电脑上完美运行。我正在运行我保存在计算机上的完全相同的 .fla 文件和代码文件,并且我的 .fla 目录中确实有 'com' 文件夹和 'greenstock' swc 文件,就像在我的 PC 上一样,但我我仍然看到 1009 :
import com.greensock.TweenLite;
import com.greensock.TweenMax;
TweenMax.to(musicChannel, 2, {volume:0});
这条线再次引用了一个声道,所以我 99% 确定它是这些问题的根源。我可以将这段代码中的“musicChannel”替换为“Music1”(在第一帧中声明的带有通道的声音),它可以很好地停止音乐,但是每当我尝试停止声音通道时,它都会对我产生影响。
再次抱歉,如果这真的很容易解决,但我很困惑,因为它昨晚工作正常。Flash Player 可能已经过时,但它是 Adobe Flash Player 11,所以我不知道这是否是问题所在。现在我在上大学,所以我不知道我家里有什么版本。
谢谢你的时间。