Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как здесь написать код не в кадре? (http://www.flasher.ru/forum/showthread.php?t=172813)

viktorami 17.12.2011 19:20

как здесь написать код не в кадре?
 
есть панель с списками, кнопками и так далее. Я попытался визуальные компоненты все из библиотеки компонетов разместить как надо, и получилась отдельный компонент в библиотеке. Теперь ее можно создать из класса. получим на экране - готовый вид. Но! где и как теперь удобно писать коды обработки щелчков клавиш, событий списоков и так далее и так далее?
если в том же классе внешнем - то как к этому всему обращатся?

carrotoff 17.12.2011 19:24

Ну если под словами "готовый вид" имеется в виду ваша панель, то ее составляющим (ну, например, кнопкам) назначаете instanse name, и по нему обращаетесь.

Код AS3:

панель.кнопка1.addEventListener(MouseEvent.CLICK, onClick);
 
private function onClick(e:MouseEvent):void{
  trace("Нажата кнопка");
}

P.S. Ну, естественно, русские имена нельзя использовать:)

viktorami 17.12.2011 19:29

ага. и получается - в одном внешнем классе можно получить доступ к обработчикам всех элементов панели после ее создания так что ли?

carrotoff 17.12.2011 19:29

А вообще лучше создать отдельный класс для данной панели, в котором описать все реакции на действия пользователя.
Цитата:

и получается - в одном внешнем классе можно получить доступ к обработчикам всех элементов панели после ее создания так что ли?
Я не понял, что вы хотели донести до меня. Доступ на обработчик есть везде, где есть на него ссылка, но к чему это я не понял

thirst 17.12.2011 20:10

Используй this внутри кода класса
Код AS3:

this.элеменТвоейПанели.addEventListener(MouseEvent.CLICK, onClick);
private function onClick(e:MouseEvent):void{
  //...
}

Ток каждый элемент должен иметь свой instanse name, чтобы к нему можно было обращаться с помощью кода

goodguy 17.12.2011 20:27

Цитата:

Сообщение от carrotoff (Сообщение 1052161)
P.S. Ну, естественно, русские имена нельзя использовать:)

Можно

fish_r 17.12.2011 21:21

Цитата:

Сообщение от goodguy (Сообщение 1052174)
Можно

В самом деле? ) Даже не пробовал. Не хотелось бы работать с таким кодом.
В свое время от 1С-ки отвернуло использование русских слов.
"Блеватили отим" - как мой мелкий выражался )
Слова понимаю... код нет )

carrotoff 17.12.2011 22:42

Цитата:

Сообщение от goodguy
Можно

Можно и с балкона вниз головой:) Думаю не стоит новичков учить плохому

goodguy 18.12.2011 08:41

Я не говорю, что это нужно делать, но работать такой код будет.
п.с. Кстати, к вопросу об обучении новичков плохому. Не я написал пример с русскими словами ;)


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

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