PDA

Просмотр полной версии : Компоненты и события


jhonyxakep
29.11.2010, 16:23
Здравствуйте,

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

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


on (change)
{

creat.text = "ololo";

}


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

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

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

mooncar
29.11.2010, 16:34
Событие происходит, просто с его обработкой у вас не заладилось.
Запишите просто
on (change)
{
trace('Писать код на объектах плохо!');
}
и убедитесь, что все ок.

Вот пример из хелпа:
my_list.change = function(evt:Object) {
getURL(evt.target.selectedItem.data, "_blank");
};
my_list.addEventListener("change", my_list);

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

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

jhonyxakep
29.11.2010, 16:38
Событие происходит, просто с его обработкой у вас не заладилось.
Запишите просто
on (change)
{
trace('Писать код на объектах плохо!');
}
и убедитесь, что все ок.

Вот пример из хелпа:
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
В общем, не пишите на мувиках и компонетах.

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

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

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

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