Показать сообщение отдельно
Старый 15.07.2014, 01:05
infbyte вне форума Посмотреть профиль Отправить личное сообщение для infbyte Найти все сообщения от infbyte
  № 7  
Ответить с цитированием
infbyte

Регистрация: Jul 2013
Сообщений: 29
У меня есть кадр, где пользователь выбирает тип игры.
В зависимости от типа игры, подгружаются различные файлы в массив.
после этого сразу же переходит на следующий кадр с игровым столом.


В кадре с игровым столом(12 кадр) нужно узнать длину массива.
Но по какой-то причине, файл не успевает скачиватьтся и length массива возвращает 0


Подскажите плиз плиз, как сделать так, что бы на следующий кадр можно было перейти только после загрузки файла,а не моментально.


Вот код кадра с выбором игры:

Код AS3:
stop();
var type_game:int;
 
 
import flash.net.*;
import flash.events.*; 
var myArray:Array = []; // создаем пустой массив
Security.loadPolicyFile("http://ya.ru/crossdomain.xml");
var loader:URLLoader = new URLLoader();
//loader.load(new URLRequest("http://ya.ru/"+type_game+".txt"));//переместил
loader.addEventListener(Event.COMPLETE,onComplete);
 
 
function onComplete(event:Event):void
{	var myxml:XML = XML(event.target.data);
	for each (var anekdot:String in myxml.anekdot)
	{	     
        myArray.push(anekdot);
	}
}
 
 
 
o1.addEventListener(MouseEvent.CLICK, qwe2);  
function qwe2(event:MouseEvent):void{  	
	type_game = 1;/////////////////@
	loader.load(new URLRequest("http://ya.ru/"+type_game+".txt"));
	gotoAndStop(12);
}
 
 
//////////////////////////////////////////////
o2.addEventListener(MouseEvent.CLICK, qwe4);  
function qwe4(event:MouseEvent):void{  
        type_game = 2;////////////////@
	loader.load(new URLRequest("http://ya.ru/"+type_game+".txt"));
	gotoAndStop(12);
}
код 12 кадра:
Код AS3:
trace(myArray.length);// возвращает 0
Если выполнять этот код не сразу, а например через кнопку , секунд через 5, то возвращает все как нужно. т.е. склоняюсь к тому что не успевает выкачаться