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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.09.2010, 19:25
Korben вне форума Посмотреть профиль Отправить личное сообщение для Korben Найти все сообщения от Korben
  № 1  
Ответить с цитированием
Korben

Регистрация: Sep 2010
Сообщений: 14
По умолчанию Передача параметров в функцию...

привет всем!

начал недавно изучать AS3
вот код:
Код AS3:
private function LoadPic():void
{
	var l:Loader;
	for ( var idx:uint = 0; idx < 2; idx++) 
	{
		l = new Loader();
		l.load(new URLRequest(URL + k.f_alpha));
		l.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void { onLoadPic(e, idx, 0); } );
 
		l = new Loader();
		l.load(new URLRequest(URL + k.f_betta));
		l.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void { onLoadPic(e, idx, 2); } );
	}
}
 
private function onLoadPic(event:Event, idx:uint, num:uint):void
{
	trace(idx, num);
}
собственно проблема - onLoadPic вызывается всегда с параметром idx == 2, приблизительно понял в чем проблема

и лазанье по форуму практически ничего не дало - как по другому можно решить момент с передачей в функцию назначенную на Event.COMPLETE свои параметры?

Старый 20.09.2010, 19:28
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Пробейте свой вопрос по поиску - таких тем тут штук 10 точно, все об одном и том же. Когда же уже прикрепят тему с ответами в этой ветке...

Добавлено через 1 минуту
http://www.flasher.ru/forum/search.php?searchid=2233761
Вон, их тут вагон, выбирайте на свой вкус.
__________________
тут я

Старый 20.09.2010, 19:36
Korben вне форума Посмотреть профиль Отправить личное сообщение для Korben Найти все сообщения от Korben
  № 3  
Ответить с цитированием
Korben

Регистрация: Sep 2010
Сообщений: 14
Цитата:
Сообщение от КорДум Посмотреть сообщение
Пробейте свой вопрос по поиску - таких тем тут штук 10 точно, все об одном и том же. Когда же уже прикрепят тему с ответами в этой ветке...

Добавлено через 1 минуту
http://www.flasher.ru/forum/search.php?searchid=2233761
Вон, их тут вагон, выбирайте на свой вкус.
я уже сказал что лазанье по форуму ничего не дало
даже по результатам данной ссылки на 1 странице нет ни одного верного ответа

Старый 20.09.2010, 19:44
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 4  
Ответить с цитированием
leofit
 
Аватар для leofit

Регистрация: Dec 2009
Сообщений: 428
http://www.flasher.ru/forum/blog.php?b=239
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг

Старый 20.09.2010, 19:55
Korben вне форума Посмотреть профиль Отправить личное сообщение для Korben Найти все сообщения от Korben
  № 5  
Ответить с цитированием
Korben

Регистрация: Sep 2010
Сообщений: 14
Цитата:
Сообщение от leofit Посмотреть сообщение
не подходит - тут описаны случаи для обработки заведомо существующих объектов
(в слушателях они перечисляются), у меня получатель массив и передать индекс массива(этого достаточно) в слушатель не получается.

я забыл добавить - грузятся картинки(png) в массив структур.

Старый 20.09.2010, 20:07
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 6  
Ответить с цитированием
leofit
 
Аватар для leofit

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

Создайте массив, в своем цикле создавайте переменные загрузчика, кладите их в массив и вешайте слушателей на них.
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг

Старый 20.09.2010, 20:08
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 7  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
У вас заведомо существующие обьекты - это лоадеры или их contentLoaderInfo
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 20.09.2010, 20:13
Korben вне форума Посмотреть профиль Отправить личное сообщение для Korben Найти все сообщения от Korben
  № 8  
Ответить с цитированием
Korben

Регистрация: Sep 2010
Сообщений: 14
Цитата:
Сообщение от -De- Посмотреть сообщение
У вас заведомо существующие обьекты - это лоадеры или их contentLoaderInfo
ни один из лоадеров не знает в какой именно элемент массива надо занести то что он получил
а
contentLoaderInfo : LoaderInfo
[только для чтения] Возвращает объект LoaderInfo, соответствующий загружаемому объекту.

так-что если даже захочешь в него что-нибудь вписать - не сможешь

Добавлено через 3 минуты
Попробовал найти выход с помощью наследника Loader-a
создал нечто (может конечно не правильно)
Код AS3:
public class exLoader extends Loader
{
	public var myInt:uint;
	public var myObject:Object;
	public function exLoader() 
	{
	}
}
и привел к стандартному виду функцию слушателя
Код AS3:
private function onLoadPic(event:Event):void
{
	var exLoad:exLoader = (event.target as exLoader);
в exLoad сидит null, хотя в event.target однозначно exLoader

может я тут че не правильно сделал?

Старый 20.09.2010, 20:18
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 9  
Ответить с цитированием
leofit
 
Аватар для leofit

Регистрация: Dec 2009
Сообщений: 428
2 Korben:
У Вас очень сильные пробелы в теории, практике и демагогии ) Исправляйте цикл и читайте книги
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг

Старый 20.09.2010, 20:21
Korben вне форума Посмотреть профиль Отправить личное сообщение для Korben Найти все сообщения от Korben
  № 10  
Ответить с цитированием
Korben

Регистрация: Sep 2010
Сообщений: 14
Цитата:
Сообщение от leofit Посмотреть сообщение
2 Korben:
У Вас очень сильные пробелы в теории, практике и демагогии ) Исправляйте цикл и читайте книги
данное выражение не уместно.

а цикл - урезан принципиально, - он в 10 раз больше, да и переменная k в оригинальном тексте имеет место быть, но к сути проблемы не имеет никакого отношения.

Добавлено через 7 минут
все, разобрался сам, ошибся в обращении
Код AS3:
private function onLoadPic(event:Event):void
{
	var exLoad:exLoader = (event.target.loader as exLoader);
но аналогичных решений я еще тут не встречал(видимо плохо искал)

тему можно закрывать.


Последний раз редактировалось Korben; 20.09.2010 в 20:29.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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