Форум 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=203624)

kelod 01.10.2013 13:59

как изменив публичную переменную перевыполнить тело класса?
 
давно интересовал вопрос как работают классы, в которых меняя переменную, меняется и вывод, пример текст, но вот настал момент, когда нужно самому такое реализовать, но кроме энтерфрейма и дополнительного флага ничего в голову не приходит((

XoJlToH 01.10.2013 14:08

вместо публичной переменной публичный сеттер-геттер, при изменении в сеттере перестраиваем класс

Код AS3:

class Updatable
{
  private var _someVariable: int;
 
  public function Updatable(): void
  {
    update ();
  }
 
  private function update(): void
  {
  }
 
  public function get someVariable(): int
  {
    return _someVariable;
  }
 
  public function set someVariable($var: int): void
  {
    if ($var != _someVariable)
    {
      _someVariable = $var;
      update ();
    }
  }
}

То есть сам конструктор особых действий не выполняет, а вызывает некий метод.
При изменении переменной в геттере вызываем тот же метод

kelod 01.10.2013 14:09

Akopalipsis ну вот смотрите у меня есть класс, в нём есть публичные переменные, мне нужно создав класс, через какое то время поменять переменную в этом классе, при этом должно поменяться выводимое классом например на спрайт

XoJlToH 01.10.2013 14:17

Ответ выше, там что надо дописывайте, делайте свои обработчики.

kelod 01.10.2013 14:20

Цитата:

Сообщение от XoJlToH (Сообщение 1147424)
Ответ выше, там что надо дописывайте, делайте свои обработчики.

спасибо огромное, я как то это совсем упустил из вида


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

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