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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 25.01.2013, 01:29
zomkoner вне форума Посмотреть профиль Отправить личное сообщение для zomkoner Посетить домашнюю страницу zomkoner Найти все сообщения от zomkoner
  № 1  
zomkoner
[++1 30.12.12]
[+1 30.12.12]
 
Аватар для 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.
Старый 25.01.2013, 02:32
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от zomkoner Посмотреть сообщение
а вот этот слушатель :
Код AS3:
dataLoader.addEventListener(Event.COMPLETE, dataImageComplete);
некак не срабатывает...почему?
Может быть стоит подписаться на пару "ошибочных" событий -- IOErrorEvent.IO_ERROR и SecurityErrorEvent.SECURITY_ERROR?
Не пробовал использовать многократно один объект URLRequest. Может быть тут собака порылась?

P.S. Прошу прощения. Правилами форума запрещены оскорбления.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 25.01.2013, 02:36
zomkoner вне форума Посмотреть профиль Отправить личное сообщение для zomkoner Посетить домашнюю страницу zomkoner Найти все сообщения от zomkoner
  № 3  
zomkoner
[++1 30.12.12]
[+1 30.12.12]
 
Аватар для zomkoner

Регистрация: Dec 2012
Адрес: Россия
Сообщений: 57
dimarik IOErrorEvent.IO_ERROR прописывал, по советам из предыдущей теме. Событие все равно не срабатывает, а вот за реквест спасибо, сейчас попробую!

Добавлено через 3 минуты
А что делать с вариабле который прописан на первом реквесте?
Код AS3:
sqlRequest.url = phpAdres;
sqlRequest.method = URLRequestMethod.POST;
sqlRequest.data = sqlVariables;
__________________
Я слышу и забываю.Я вижу и запоминаю.Я делаю и понимаю.

Старый 25.01.2013, 02:46
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А что с вариабле не так? Вариабле сидит рядом со мной и Реквестом. Пьем томатный сок и обсуждаем переходы на личности. А вы задавали какой-то вопрос, связанный с ним (с ней)?

Добавлено через 18 минут
Код AS3:
dataLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dataImageComplete);
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 25.01.2013, 03:21
zomkoner вне форума Посмотреть профиль Отправить личное сообщение для zomkoner Посетить домашнюю страницу zomkoner Найти все сообщения от zomkoner
  № 5  
zomkoner
[++1 30.12.12]
[+1 30.12.12]
 
Аватар для zomkoner

Регистрация: Dec 2012
Адрес: Россия
Сообщений: 57
Спасибо! Помогло!

Добавлено через 4 минуты
Подскажи ещё пожалуйста как можно передать изображение загруженное в loader в другую переменную, чтобы при повторном использовании Loader картинка не исчезала?
__________________
Я слышу и забываю.Я вижу и запоминаю.Я делаю и понимаю.

Старый 25.01.2013, 04:25
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
zomkoner,
1. Одна тема - один вопрос.
2. Нельзя пренебрегать правилами оформления сообщений, на которые вам указывает администрация или модератор.
3. Обсуждение действий администрации форума - только в приватном режиме.
4. Хоть на ЛС вы ссылаетесь, но видимо, не читаете (это не рассуждение, а предложение проверить ЛС).
__________________
Идите первым!


Последний раз редактировалось mooncar; 25.01.2013 в 04:37.
Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 07:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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