![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Приветствую, подскажите пожалуйста есть ли простой способ отображения изменения переменной?
Хочу реализовать всплывающее текстовое поле со значением изменения переменной. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
_textField.text = новое значение переменной
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
А как автоматизировать, например через слушатель события?
т.е если произошло изменение то вывести поле со значением этого изменения. наверняка есть способ кроме как в ентер фрейм пихать условия которые потом заспамят весь output) Последний раз редактировалось Tetraeon; 19.05.2012 в 00:30. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Как происходит изменение переменной? Посылайте событие там, где переменная изменяется. Если это свойство класса, то можно в сеттере диспатчить событие.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Цитата:
Не совсем понимаю как это работает, но надеюсь что отслеживает любое изменение и выводит его. Пока ничего не получается... в классе по крайней мере Последний раз редактировалось Tetraeon; 19.05.2012 в 00:41. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну если hP это текстфилд, то да. Будет выводить в texter тот же текст, что введен в hP.
Только это не "отслеживание переменной" )))))))
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
значит это не то что мне нужно) нужно именно отслеживание переменной
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вы реально думаете, что каждый раз когда Вы пишете в коде a += 2, плеер посылает событие "ОЙ! Переменная а изменилась!" ? Вы представляете, сколько вычислений происходит например в средненькой банальной игре? Плеер захлебнется после каждого "=" посылать событие об этом. Кому? Зачем? Если Вам лично надо какую-то переменную отображать в текстфилде, ну так и отображайте. Каждый раз, когда пишете в коде "а = ..." добавляйте строчку texter.text = а.toString(); Вы пытаетесь изобразить ситуацию так, словно понятия не имеете кто и когда и как изменяет вашу переменную. Хотя происходит это в одной-единственной функции, написанной Вами же. Либо "переменной" Вы называете свойство класса/экземпляра. Тогда (я уже сказал) напишите для нее сеттер и делайте в нем что нужно — диспатчите событие или командуйте texter.text = а.toString(); напрямую, при каждой попытке изменить значение переменной, то есть при каждом вызове сеттера.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Вот накидал аналог, но что то мне кажется есть по проще вариант.
package { public class Hero extends MovieClip { public var exp:int; public var expT:int; public function Hero() { addEventListener (Event.ENTER_FRAME , expC); } public function expC(e:Event):void { if (exp>expT) { trace (exp); } removeEventListener (Event.ENTER_FRAME , expC); expT=exp; addEventListener (Event.ENTER_FRAME , expC); } } } Источников будит много.. думал 1 раз оформить функцию и не парится по поводу вывода. Последний раз редактировалось Tetraeon; 19.05.2012 в 00:59. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
package { public class Hero extends MovieClip { private var _exp:int; private var _expT:int; public function Hero() { } private function compareExp():void { if (_exp > _expT) { trace (_exp); expT=exp; } } public function get exp():int { return _exp; } public function set exp(value:int):void { _exp = value; compareExp(); } public function get expT():int { return _expT; } public function set expT(value:int):void { _expT = value; compareExp(); } } }
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|