Форум 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)
-   -   Подпись MovieClip на событие (http://www.flasher.ru/forum/showthread.php?t=101932)

shreck 05.10.2007 13:13

Подпись MovieClip на событие (ОЧЕНЬ СРОЧНО)
 
Значит есть флешка 400*400 на ней квадратик.
Этот квадратик лежит в библиотеке с именем tmp.

я перетаскиваю из библиотеки этот квадратик на сцену в первый слой.
присваиваю ему инстанс name : tmp.

создаю новый слой, нажимаю ф9 и пишу в окне для скрипта:
Код:

var modelListener:Object = new Object();
modelListener.onPress = function()
{
  trace("ok");
}

tmp.addEventListener("onPress", modelListener);

Но при нажатии на мувик на сцене, он не реагирует на событие onPress
В чем дело?

etc 05.10.2007 14:07

shreck, отредактируйте свой пост и оформите код тегами [code][/code].

Мувиклип не является вещателем событий.

Жень Шень 05.10.2007 15:04

Цитата:

Сообщение от shreck
...В чем дело?

А дело в том, что клип tmp (если это мувиклип) и не должен быть "слушателем" собственного события на метод onPress.
Описаный код можно интерпритировать так: Я постучу себя по голове и попрошу соседа сообщит мне об этом, а то я не замечу.
Если что не так...

Wolsh 05.10.2007 15:40

Это называется Перенедопетрил.
Этого будет достаточно:
Код:

tmp.onPress = function()
{
  trace("ok");
}


shreck 05.10.2007 18:18

а если у меня 100 клипов, только инстанс нэйм разный, мне для каждого писать
Код:

tmp.onPress = function()
{
  trace("ok");
}


Molecula 05.10.2007 18:20

Для этого циклы есть.
Код:

for (var i=0;i<=100;i++){
this['tmp'+i].onPress=F_Press;
}
function F_Press(){
trace(this._name);
}


Жень Шень 08.10.2007 12:19

Цитата:

Сообщение от shreck
а если у меня 100 клипов...

Можно с помощью прототипа (если надо, чтоб все клипы трейсели "ОК", что не есть хорошо). Проще написать класс и эти 100 клипов сделать экземплярами этого класса.
Если что не так, гуру поправят...


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

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