gpt4 book ai didi

actionscript-3 - Flash AS3 - SoundChannel 错误 #1009

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

如果这是一个简单的问题或修复,我是一个 Flash 新手,所以很抱歉。
无论如何,我在某些功能上遇到了问题。我注意到我只在尝试停止声音 channel 的功能上收到错误 1009。这是一些代码:

这是第一个场景的第一帧,只是设置我的 channel 。我所有的声音也都在这里完成,但我认为这些不是问题。

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”(在第一帧中声明的带有 channel 的声音),它可以很好地停止音乐,但是每当我尝试停止声音 channel 时,它都会对我产生影响。

再次抱歉,如果这真的很容易解决,但我很困惑,因为它昨晚工作正常。 Flash Player 可能已经过时,但它是 Adob​​e Flash Player 11,所以我不知道这是否是问题所在。现在我在上大学,所以我不知道我家里有什么版本。

谢谢你的时间。

最佳答案

SoundCahnnel 可以为空,当它们为空时,您不能尝试对它们的属性进行补间。一个简单的处理方法是检查它们是否为空:

if(musicChannel)
{
TweenMax.to(musicChannel, 2, {volume:0});
}

此外,仅当调用 Sound 对象播放方法时才会生成 SoundChannel 对象,因此无需实例化它们:
var musicChannel:SoundChannel = new SoundChannel();//irrelevant piece of code
var musicChannel:SoundChannel;//correct

关于actionscript-3 - Flash AS3 - SoundChannel 错误 #1009,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27964383/

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