Форум 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=147222)

jhonyxakep 29.11.2010 16:23

Компоненты и события
 
Здравствуйте,

Извините заранее, если я ошибся темой, или она обсуждалась ранее.

В ролике у меня создан компонент list, с именем list1(также можно?),
пишу:

Код AS1/AS2:

on (change) 
{
 
creat.text = "ololo";       
 
}

Но при выборе содержимого листа, ничего не происходит, те событие не выполняется.

Что я неправильно сделал?

Использую Flash 8 pro (тот,что еще был Macromedia)

mooncar 29.11.2010 16:34

Событие происходит, просто с его обработкой у вас не заладилось.
Запишите просто
Код AS1/AS2:

on (change) 
{
    trace('Писать код на объектах плохо!');       
}

и убедитесь, что все ок.

Вот пример из хелпа:
Код AS1/AS2:

my_list.change = function(evt:Object) {
    getURL(evt.target.selectedItem.data, "_blank");
};
my_list.addEventListener("change", my_list);

Если что, то вот так у вас заработает:
Код AS1/AS2:

on (change) 
{
  trace(create); //выыедет undefined
  this._parent.creat.text = "ololo"; //будет то, что вы хотели
}

Все дело в путях и видимости.

jhonyxakep 29.11.2010 16:38

Цитата:

Сообщение от mooncar (Сообщение 953389)
Событие происходит, просто с его обработкой у вас не заладилось.
Запишите просто
Код AS1/AS2:

on (change) 
{
    trace('Писать код на объектах плохо!');       
}

и убедитесь, что все ок.

Вот пример из хелпа:
Код AS1/AS2:

my_list.change = function(evt:Object) {
    getURL(evt.target.selectedItem.data, "_blank");
};
my_list.addEventListener("change", my_list);


Боюсь, что с обработкой сообщений trace проблема - тк клип изначально работает со скриптом, лежащим рядом с собой, но я всеже помудрил, и попробовал использовать trace... В окне сообщений - пусто

mooncar 29.11.2010 16:41

В общем, не пишите на мувиках и компонетах.
Откройте чистый проект и протестите мои примеры.
Если у вас что-то не так в проекте, ищите ошибки вне этого куска.

jhonyxakep 29.11.2010 16:41

Код AS1/AS2:

В общем, не пишите на мувиках и компонетах.

Можно писать на кадрах? Как тогда обработать событие?

mooncar 29.11.2010 16:56

Нужно писать в кадрах, а не на объектах.
См. пример из хелпа, который я привел. Только не забудьте экземпляру компонента на сцене задать имя my_list.

jhonyxakep 29.11.2010 17:03

Спасибо, все заработало. Вообще после использования кнопок, и обработчика on, такой формат записи для компонентов сильно непривычен:wacko:

mooncar 29.11.2010 17:12

На объектах писать и неправильно, и неудобно. Формально, подобный морально устаревший код приводить вместе со своими вопросами в постах сильно не одобряется. (Может, ошибусь, но даже попросту нельзя).


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

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