|
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Обращение к свойству класса
Здравствуйте.
Подскажите, как можно сделать следующее. Допустим, есть класс, который содержит в себе две переменные. public class Main { public var tf:TextField = new TextField(); public var sp:Sprite = new Sprite(); ... Вопрос: можно ли как-нибудь обращаться к «родному» спрайту при клике по текстФилду или наоборот, при клике на спрайте, получить нужный текстФилд?
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
Можно воспользоваться классом Dictionary. Например, добавить в класс Main статический словарь и в конструкторе добавлять в него ссылки на текстовое поле и спрайт по соответствующим ключам.
// Вот оно хранилище ссылок public static var dict:Dictionary = new Dictionary(); // Вот он конструктор public function Main() { ... tf = new TextField(); sp = new Sprite(); dict[ tf ] = sp; dict[ sp ] = tf; ... } И наоборот. |
|
|||||
[+4 24.04.13]
[+4 20.04.13] Регистрация: Feb 2013
Адрес: Seireitei
Сообщений: 176
|
да ну бред какойто, зачем тебе класс если у тебя все переменые обьявлены публично и как ты их добовляешь на сцену непонятно
наверно ты имеешь ввиду следующее package { import flash.display.MovieClip; import flash.text.TextField; import flash.display.Sprite; import flash.events.MouseEvent; public class Main extends MovieClip { private var tf:TextField; private var sprite:Sprite; public function Main() { tf = new TextField(); tf.addEventListener(MouseEvent.CLICK, onTextFieldClick); addChild(tf); sprite = new Sprite(); sprite.addEventListener(MouseEvent.CLICK, onSpriteClick); addChild(sprite); } protected function onTextFieldClick(e:MouseEvent) : void { //например sprite.x += 100; } protected function onSpriteClick(e:MouseEvent) : void { //например tf.x += 100; } } } |
|
|||||
|
Часовой пояс GMT +4, время: 02:22. |
|
« Предыдущая тема | Следующая тема » |
|
|