Я пытаюсь добавить swf для сцены с огнем игры, но у меня возникла проблема с повторением звука после removeChild и установкой объекта в null. Я пытаюсь добавить файл и удалить его после длины кадров в анимации (721) и удалить его, чтобы перейти к другим вещам.Actionscript 3 удаление swf audio не останавливается
Я также пробовал ролики [0] .stop(); и SoundMixer.stopAll(); как это было предложено другими должностями.
removechild() удаляет визуальный аспект файла/анимации, но не аудио, и он повторяется после того, как длина анимации (721 кадр) повторяется, как если бы она была перезагружена. Как я могу остановить звук?
package {
import flash.display.*;
import flash.media.*;
import flash.utils.*;
import flash.events.*;
[SWF(backgroundColor="#0000ff", frameRate="24", width="640", height="480")]
public class main extends MovieClip
{
[Embed(source="/Cutscenes/Intro_Scene 1.swf")]
private var scene1:Class
public var cutscenes:Array = new Array();
public var scene_exists:Boolean = false;
public var scene_timer:Number = 0;
public function main()
{
scene_exists = false;
addEventListener(Event.ENTER_FRAME, play_intro);
}
public function play_intro(event:Event):void
{
scene_timer++;
if (scene_exists == false) //Add cutscene
{
cutscenes[0] = new scene1();
addChild(cutscenes[0]);
scene_exists = true;
}
if (scene_timer == 721) //Remove cutscene
{
SoundMixer.stopAll();
scene_exists = false;
removeChild(cutscenes[0]);
cutscenes[0] = null;
scene_timer = 0;
removeEventListener(Event.ENTER_FRAME, play_intro);
//Do next thing
}
}
}
}
Вы пытались загрузить SWF через класс Loader, а не напрямую встраивать его, а затем вызвать метод unloadAndStop на Loader? Обратите внимание: вы можете вставлять байты для SWF и вручную загружать их в Loader через метод loadBytes, если вам нужно вставлять данные, а не загружать их во время выполнения. – meddlingwithfire