Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вложенные мувики + событие (http://www.flasher.ru/forum/showthread.php?t=141116)

4est 16.06.2010 16:59

Вложенные мувики + событие
 
Имеется следующее:
где str массив

Код AS1/AS2:

_root.createEmptyMovieClip ("osn", 90); //создаем платформу для мувиков
for(var i=1; i<str.length-1; i++)
              {
                        _root.osn.createEmptyMovieClip ("gf"+i, 100+i); //мувики
 
                        _root.osn["gf"+i].loadMovie("images/"+str[i]+".gif" );
 
                      /* координаты для мувиков */
 
                        _root.osn["gf"+i].onRollOver = function()
                        {
                                trace("ok");
                        }
 
                }

после создания - даже банальное

Код AS1/AS2:

trace (_root.osn._width);

дает результат "ноль".
onRollOver не работает.

Что не так?

Хемуль 16.06.2010 17:55

2 4est:
Используйте MovieClipLoader для загрузки и вешайте onRollOver в обработчике MovieClipLoader.onInit.
Вот пара заметок из переведённого AS2 Language Reference:
Цитата:

Использование обрабочиков событий с MovieClip.loadMovie() может привести к непредсказуемым результатам. Если Вы размещаете обрабочик события на кнопке, используя on() или же создаете его динамически, используя, например, MovieClip.onPress, а потом вызываете loadMovie(), обрабочик события после загрузки больше не существует. Однако, если Вы размещаете обрабочик события на мувиклип, используя onClipEvent() или on(), и затем вызываете метод loadMovie() того же мувиклипа, обработчик события доступен и после загрузки нового содержимого.
Цитата:

Как показано в примере ниже, Вы можете использовать loadMovie()для загрузки картинки picture.jpg в мувиклип и затем, с помощью метода MovieClip.onPress() сделать из изображения кнопку. Загрузка JPEG изображения с помощью loadMovie() заменяет содержимое мувиклипа изображением, но не дает доступа к методам мувиклипа. Чтобы получить доступ к этим методам, Вы должны создать пустой мувиклип и в нем пустой контейнер. Загрузите изображение в контейнер и свяжите с мувиклипом-родителем обработчик события.
Код AS1/AS2:

// Создаем мувиклип-родитель для контейнера
this.createEmptyMovieClip("logo_mc", this.getNextHighestDepth());
// Создаем контейнер внутри "mc_1"
// в этот мувиклип будет загружено изображение
logo_mc.createEmptyMovieClip("container_mc",0);
logo_mc.container_mc.loadMovie("http://www.macromedia.com/images/shared/product_boxes/80x92/studio_flashpro.jpg");
// повесьте этот обработчик события на мувиклип-родитель, mc_1
logo_mc.onPress = function() {
  trace("Работает!");
};


4est 16.06.2010 18:45

Спасибо,разобрался.. . Событие вешаем только на контейнер родитель.


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

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