Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 25.01.2013, 01:29
zomkoner вне форума Посмотреть профиль Отправить личное сообщение для zomkoner Посетить домашнюю страницу zomkoner Найти все сообщения от zomkoner
  № 1  
zomkoner
 
Аватар для zomkoner

Регистрация: Dec 2012
Адрес: Россия
Сообщений: 57
Question Не срабатывает слушатель...

вот код:
Код 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});
}
первым вызывается функция загрузки xml с сервера:
Код AS3:
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);	
}
далее после завершения загрузки по слушателю вызывается функция которая удаляет предыдущий слушатель и разберает xml (xml следующим постом выложу), и каждый прогоняет через функцию addElementFunc(strokaXML.nomer, strokaXML.href);:
Код 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);
               }
	LineDataImage=0;
	loadImageData(LineDataImage);
}
эта функция заносит каждуе значение ссылки на картинку и её координаты в массив
Код AS3:
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});
}
после завершения цикла вызывается функция:
Код AS3:
	LineDataImage=0;
	loadImageData(LineDataImage);
в которой установка координат loadera и слушатель который почему то не работает...
Код AS3:
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);
	}
}
этот трейс выдает ссылку на картинку...
а вот этот слушатель :
Код AS3:
dataLoader.addEventListener(Event.COMPLETE, dataImageComplete);
некак не срабатывает...почему?
ЗЫ : вроде бы изложил суть вопроса...
__________________
Я слышу и забываю.Я вижу и запоминаю.Я делаю и понимаю.


Последний раз редактировалось dimarik; 25.01.2013 в 02:24.
Создать новую тему   Часовой пояс GMT +4, время: 00:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:18.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.