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

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

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

Регистрация: Nov 2007
Сообщений: 24
По умолчанию Не срабатывает onLoadComplete внутри прототипа

Код HTML:
MovieClip.prototype.contentloader = function(){

this.createEmptyMovieClip('pic', this.getNextHighestDepth());

var mcl:MovieClipLoader = new MovieClipLoader ();
mcl.addListener (this);
var i:Number = 0;
var rootName = ["1.swf","1.jpg"];
var mcOld:MovieClip = null;

this.onLoadInit = function () {
	var mc:MovieClip = this.pic.createEmptyMovieClip ("mc" + i, i);
	mcl.loadClip (rootName[i], mc);
	mc._x = 10;
	mc._y = ((mcOld._y + mcOld._height) || 0) + 10;;
	mcOld = mc;
	i++;
	//////////////////////////////////////////////////// - не выполняется
	this.mcl.onLoadComplete = function () {
		trace ("Загржено mc"+[i]);
	};
	//////////////////////////////////////////////////// - ============
};

this.onLoadError = function () {
	trace ("Загрузка завершена");
};
this.onLoadInit ();

}

this.contentloader(); // запускаем загрузку
Почему не срабатывает?


Последний раз редактировалось ra26info; 02.04.2008 в 01:11.
Старый 02.04.2008, 01:24
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код:
this.mcl = new MovieClipLoader();


Последний раз редактировалось udaaff; 02.04.2008 в 01:36.
Старый 02.04.2008, 01:34
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 3  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Сранно, а зачем Вам использовать прототип?
На сколько мне известно это старая практика, ещё 6-ки.
__________________
john

Старый 02.04.2008, 01:40
ra26info вне форума Посмотреть профиль Отправить личное сообщение для ra26info Найти все сообщения от ra26info
  № 4  
Ответить с цитированием
ra26info

Регистрация: Nov 2007
Сообщений: 24
Цитата:
Сообщение от udaaff
Код:
this.mcl = new MovieClipLoader();
А в чем разница?
Но если написать
Код:
//	this.mcl.onLoadComplete = function ()
	this.onLoadComplete = function ()
..то работает, но в чем разница? Почему не получается обратить по имени?
Цитата:
Сообщение от Molecula
Сранно, а зачем Вам использовать прототип?
На сколько мне известно это старая практика, ещё 6-ки.
А как нынче модно, какие альтернативы? Честно говоря я 3 года флэшем не занимался. Возникла потребность, пишу как помню.
Я работаю в 2004 флэше,


Последний раз редактировалось ra26info; 02.04.2008 в 10:17.
Старый 02.04.2008, 01:45
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 5  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
В том, что, когда вы объявляете эту переменную как локальную, т.е.:
Код:
var mcl:MovieClipLoader = new MovieClipLoader ();
, то ее время жизни ограничивается периодом действия функции, в данном случае.

Старый 02.04.2008, 01:49
ra26info вне форума Посмотреть профиль Отправить личное сообщение для ra26info Найти все сообщения от ra26info
  № 6  
Ответить с цитированием
ra26info

Регистрация: Nov 2007
Сообщений: 24
udaaff, а как сделать правильно? this.onLoadComplete - это правильно?


Последний раз редактировалось ra26info; 02.04.2008 в 01:55.
Старый 02.04.2008, 01:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 7  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Туплю...
Вы же текущий объект подписываете на получение событий от mcl, а текущий объект это this )

upd: 5 пост отношения к данному случаю не имеет, т.к. функция определенная внутри другой функции, продолжает видеть ее локальные переменные и параметры, даже после ее отработки.


Последний раз редактировалось udaaff; 02.04.2008 в 02:06.
Старый 02.04.2008, 02:29
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 8  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Цитата:
А как нынче модно, какие альтернативы?
Посмотрите в википедии про парадигмы программирования.
__________________
Free-lance | Twitter | Me


Последний раз редактировалось screamge; 02.04.2008 в 05:19.
Старый 02.04.2008, 04:06
ra26info вне форума Посмотреть профиль Отправить личное сообщение для ra26info Найти все сообщения от ra26info
  № 9  
Ответить с цитированием
ra26info

Регистрация: Nov 2007
Сообщений: 24
Цитата:
Сообщение от screamge
[qoute]А как нынче модно, какие альтернативы?
Посмотрите в википедии про парадигмы программирования.[/quote]
Очень ценный совет, посмотрел.. но как это относится к данной теме?

Старый 02.04.2008, 05:19
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 10  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Прототипное программирование канула в века вместе с АС1. Если вас интересует нынешняя парадигма применимая к флеш, ниспосланная богами всея флеш платформы, то это ООП. Касательно самого вопроса, почему бы вам не открыть хелп и не поискать по слову «MovieClipLoader», страшнее того что у вас написанно в первом посте явно не получится, а давать вредные советы я не с клонен. На этом, с вашего позволения, откланяюсь.
__________________
Free-lance | Twitter | Me

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

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

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


 


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


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