Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.05.2012, 23:50
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 1  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
По умолчанию Отображение изменения переменной

Приветствую, подскажите пожалуйста есть ли простой способ отображения изменения переменной?
Хочу реализовать всплывающее текстовое поле со значением изменения переменной.

Старый 19.05.2012, 00:04
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
_textField.text = новое значение переменной
__________________
Reality.getBounds(this);

Старый 19.05.2012, 00:15
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 3  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
А как автоматизировать, например через слушатель события?
т.е если произошло изменение то вывести поле со значением этого изменения. наверняка есть способ кроме как в ентер фрейм пихать условия которые потом заспамят весь output)


Последний раз редактировалось Tetraeon; 19.05.2012 в 00:30.
Старый 19.05.2012, 00:28
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Как происходит изменение переменной? Посылайте событие там, где переменная изменяется. Если это свойство класса, то можно в сеттере диспатчить событие.
__________________
Reality.getBounds(this);

Старый 19.05.2012, 00:35
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 5  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Как происходит изменение переменной? Посылайте событие там, где переменная изменяется. Если это свойство класса, то можно в сеттере диспатчить событие.
Источников изменения много.. вот думаю может что то типа этого подойдет:
Код AS3:
      hP.addEventListener(Event.CHANGE, hPChange);     
      function hPChange(e:Event):void
      {
         texter.text = hP.text;
      }
Не совсем понимаю как это работает, но надеюсь что отслеживает любое изменение и выводит его. Пока ничего не получается... в классе по крайней мере


Последний раз редактировалось Tetraeon; 19.05.2012 в 00:41.
Старый 19.05.2012, 00:41
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну если hP это текстфилд, то да. Будет выводить в texter тот же текст, что введен в hP.
Только это не "отслеживание переменной" )))))))
__________________
Reality.getBounds(this);

Старый 19.05.2012, 00:42
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 7  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Ну если hP это текстфилд, то да. Будет выводить в texter тот же текст, что введен в hP.
Только это не "отслеживание переменной" )))))))
значит это не то что мне нужно) нужно именно отслеживание переменной

Старый 19.05.2012, 00:52
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вы реально думаете, что каждый раз когда Вы пишете в коде a += 2, плеер посылает событие "ОЙ! Переменная а изменилась!" ? Вы представляете, сколько вычислений происходит например в средненькой банальной игре? Плеер захлебнется после каждого "=" посылать событие об этом. Кому? Зачем? Если Вам лично надо какую-то переменную отображать в текстфилде, ну так и отображайте. Каждый раз, когда пишете в коде "а = ..." добавляйте строчку texter.text = а.toString(); Вы пытаетесь изобразить ситуацию так, словно понятия не имеете кто и когда и как изменяет вашу переменную. Хотя происходит это в одной-единственной функции, написанной Вами же. Либо "переменной" Вы называете свойство класса/экземпляра. Тогда (я уже сказал) напишите для нее сеттер и делайте в нем что нужно — диспатчите событие или командуйте texter.text = а.toString(); напрямую, при каждой попытке изменить значение переменной, то есть при каждом вызове сеттера.
__________________
Reality.getBounds(this);

Старый 19.05.2012, 00:52
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 9  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Вот накидал аналог, но что то мне кажется есть по проще вариант.
Код AS3:
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);
				}
         }
}
В место trace текстовое поле влупить надо будит.. только почитаю как...
Источников будит много.. думал 1 раз оформить функцию и не парится по поводу вывода.


Последний раз редактировалось Tetraeon; 19.05.2012 в 00:59.
Старый 19.05.2012, 01:03
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 10  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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