Я предполагаю, что Chart / Part1 / Part2 являются символами MovieClip, которые отправляют событие COMPLETE, когда они достигают последнего кадра?Если это правильно, тогда я могу сделать довольно разумное предположение о том, что происходит.
Вы предполагаете, что ваши символы не будут воспроизводиться, пока вы не добавите их на сцену и не вызовете gotoAndPlay ,Это неверно, как только вы создадите экземпляр символа, он начнет воспроизводиться в фоновом режиме, то есть первые 4 строки кода создадут символ и начнут его воспроизводить, даже если они не видны на экране, как таковые., ваши события COMPLETE будут срабатывать в фоновом режиме, прежде чем вы ожидаете.
Решение состоит в том, чтобы остановить воспроизведение этих символов, как только вы их создадите, а затем начать воспроизведение после того, как сработало предыдущее событие COMPLETE.
var playGraph = new Chart();
var playPart1 = new Part1();
var playPart2 = new Part2();
var playPart3 = new Part3();
//Stop the symbols from playing automatically
playPart1.stop();
playPart2.stop();
playPart3.stop();
addChild(playGraph);
playGraph.gotoAndPlay(1);
var s1:SoundOne = new SoundOne();
s1.play();
playGraph.addEventListener(Event.COMPLETE, onCompleteGraph);
playPart1.addEventListener(Event.COMPLETE, onCompletePart1);
playPart2.addEventListener(Event.COMPLETE, onCompletePart2);
function onCompleteGraph(evt:Event):void
{
playPart1.x = 370;
playPart1.y = 190;
addChild(playPart1);
playPart1.gotoAndPlay(1);
}
function onCompletePart1(evt:Event):void
{
playPart2.x = 100;
playPart2.y = 100;
addChild(playPart2);
playPart2.gotoAndPlay(1);
var s2:Sound2 = new Sound2();
s2.play();
}
function onCompletePart2(evt:Event):void
{
removeChild(playPart2);
addChild(playPart3);
playPart3.gotoAndPlay(1);
var s3:Sound3 = new Sound3();
s3.play();
}