| zomkoner |
24.01.2013 22:34 |
Код AS3:
function completeXML(e:Event):void{
sqlLoader.removeEventListener(Event.COMPLETE, completeXML);
var respons:XML = new XML(e.target.data.result);
var responsList:XMLList = respons.stroka;
for each (var strokaXML:XML in responsList) {
addElementFunc(strokaXML.nomer, strokaXML.href);
}
}
я же удаляю в самом начале предыдущий слушатель! а в цикле просто вызов функции!
ну а хотя да ты прав цикл бегает быстрее чем грузится картинка и сразу же вызывает грузить следующий... но так хотя бы последнюю картинку загрузить должен! или нет?
Добавлено через 18 минут
помогите решить проблемку... а? ведь понятно же что мне нужно сделать... подскажите а?
Добавлено через 28 минут
пожалуйста!
Добавлено через 2 часа 23 минуты
даже в таком случае:
Код AS3:
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.display.Sprite;
var conteiner:Sprite = new Sprite();
var sqlVariables:URLVariables ;
var sqlRequest:URLRequest = new URLRequest();
var sqlLoader:URLLoader = new URLLoader();
var dataRequest:URLRequest = new URLRequest();
var dataLoader:Loader = new Loader();
var dataArr:Array = new Array();
var LineDataImage:int;
phpInXML(new URLVariables("pass=пар&sex=man"), "http://face_out.php");
function phpInXML(sqlZapros:URLVariables, phpAdres:String):void{
addChild(conteiner);
sqlVariables = sqlZapros;
sqlRequest.url = phpAdres;
sqlRequest.method = URLRequestMethod.POST;
sqlRequest.data = sqlVariables;
sqlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
sqlLoader.addEventListener(Event.COMPLETE, completeXML);
sqlLoader.load(sqlRequest);
}
function completeXML(e:Event):void{
sqlLoader.removeEventListener(Event.COMPLETE, completeXML);
var respons:XML = new XML(e.target.data.result);
var responsList:XMLList = respons.stroka;
for each (var strokaXML:XML in responsList) {
addElementFunc(strokaXML.nomer, strokaXML.href);
}
LineDataImage=0;
loadImageData(LineDataImage);
}
function loadImageData(numLine:int):void{
if(numLine>dataArr.length){
}else{
dataRequest.url = dataArr[numLine].src;
dataLoader.addEventListener(Event.COMPLETE, dataImageComplete);
dataLoader.load(dataRequest);
trace(dataArr[numLine].src);
}
}
function dataImageComplete(e:Event):void{
trace("sad");
dataLoader.x = dataArr[LineDataImage].xImage;
dataLoader.y = dataArr[LineDataImage].yImage;
conteiner.addChild(dataLoader);
LineDataImage ++;
loadImageData(LineDataImage);
}
function dataLoadComplete(e:Event):void{
trace('ok');
var sprite:Sprite = new Sprite();
addChild(sprite);
sprite.addChild(dataLoader);
}
function addElementFunc(numElement:int, hrefElement:String):void{
var numY:int = int(numElement - 1);
numY= int(numY / 3 + 1);
var numX:int = (numElement - 1);
numX = int(numX % 3);
var xElement:int = (numX * 80);
var yElement:int = (numY * 80);
var shapes:Shape = new Shape();
conteiner.addChild(shapes);
shapes.graphics.lineStyle(2, 0x33CCCC, 0.6);
shapes.graphics.beginFill(0x99FFCC, 0.4);
shapes.graphics.drawRoundRect(xElement + 80,yElement,70,70,40);
dataArr.push({xImage:xElement, yImage:yElement, src : hrefElement});
}
доходит только до сюда и один раз! а надо 7!
Код AS3:
dataRequest.url = dataArr[numLine].src;
dataLoader.addEventListener(Event.COMPLETE, dataImageComplete);
dataLoader.load(dataRequest);
trace(dataArr[numLine].src);
}
трэйсер выводит ссылку а слушатель на dataLoader не пашет.... в этот то раз почему?
|