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

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

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

Регистрация: Apr 2006
Сообщений: 5
По умолчанию onRelease у дочерних объектов

Мне надо на одном мувике (instance name: mc) динамически создавать другие мувики и грузить туда картинки из внешних источников. И надо сделать реакцию по клику на этот динамический мувик.
Но не удается создать обработчик клика на созданном мувике! Он просто игнорится! Вот пример кода:
i = некий динамический мувик
mc = мувик на котором и надо создавать другие мувики
Код:
var i:MovieClip;
i=mc.createEmptyMovieClip('i',mc.getNextHighestDepth());
i.loadMovie('http://img.yandex.ru/i/logo-big-txt.gif');
mc.i.onRelease=function () {
	trace('i click');
	};
Причем пробовал и mc.i.onRelease и _root.mc.i.onRelease и _root.mc.i.onRelease и даже как в дебаге четко показанно имя этого мувика _level0.mc.i.onRelease -- все равно не работает. Идей нет =\

Старый 11.04.2006, 17:16
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 2  
Ответить с цитированием
KPaul
 
Аватар для KPaul

Регистрация: Nov 2005
Сообщений: 221
После загрузки пользовательские методы, кроме обработчиков НА клипе и переменные зачищаются, поэтому вешай обработчик после загрузки, либо наследуй...

Старый 11.04.2006, 17:22
zodiak вне форума Посмотреть профиль Отправить личное сообщение для zodiak Найти все сообщения от zodiak
  № 3  
Ответить с цитированием
zodiak

Регистрация: Apr 2006
Сообщений: 5
Так обработчик сейчас написан после загрузки. Или я не так понял?

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

Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
Написан-то он после строчки кода о загрузке, но ведь загрузка - событие асинхронное и уж явно реально произойдет не до, а после после определения тобою
Код:
mc.i.onRelease
т.е. перезатрет, о чем тебе и говорят
__________________
No war, make Flash.

Старый 13.04.2006, 11:28
zodiak вне форума Посмотреть профиль Отправить личное сообщение для zodiak Найти все сообщения от zodiak
  № 5  
Ответить с цитированием
zodiak

Регистрация: Apr 2006
Сообщений: 5
Понял. Решил попробовать.
Не пинайте ногами, наверняка где-то просто туплю.
Сделал следующее:
Код:
var i:MovieClip;
i=mc.createEmptyMovieClip('i',mc.getNextHighestDepth());
i.loadMovie('http://img.yandex.ru/i/logo-big-txt.gif');
while(i.getBytesTotal() > i.getBytesLoaded())
{
	trace(i.getBytesLoaded());
	}
trace('Loading finished. Loaded ' + i.getBytesLoaded() + ' bytes');	
mc.i.onRelease=function () {
trace('i click');
};
i.getBytesTotal и i.getBytesLoaded всегда равны нулю. =\
пробовал ловить mc.getBytesTotal и Loaded соответственно - не изменяется. В том смысле, что ДО вызова loadMovie и после это значение не меняется. В _root тоже самое. В какую сторону копать?

Старый 14.04.2006, 02:41
ReN вне форума Посмотреть профиль Отправить личное сообщение для ReN Найти все сообщения от ReN
  № 6  
Ответить с цитированием
ReN

Регистрация: Nov 2003
Адрес: Россия
Сообщений: 56
В mc создаеш i. Туда грузиш картинку. В томже mc создай кнопку, на которую повесиш onRelease. И код будет работать, и картинка грузится...
__________________
ReN

Старый 14.04.2006, 15:33
zodiak вне форума Посмотреть профиль Отправить личное сообщение для zodiak Найти все сообщения от zodiak
  № 7  
Ответить с цитированием
zodiak

Регистрация: Apr 2006
Сообщений: 5
Почти так и сделал! Спасибо! =)

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

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

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


 


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


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