![]() |
Как отслеживать изменения свойства?
Предположим, я хочу отслеживать изменения ширины или высоты спрайта, как это можно сделать?
Подход с проверкой по таймеру не предлагать))) Повесить сеттеры - тоже не то, т.к. будут отслеживаться только изменения, произведенные вручную, например width = 10, а автоматические не будут (например, когда мы в спрайт будем добавлять какое-то содержимое, его размеры могут меняться - при этом сеттер не будет этого улавливать). Копать в сторону Proxy? |
Код AS3:
|
давайте без частностей))) спрайты я привел лишь в пример, да и то вы неудачный способ предложили, т.к. при добавлении нового ребенка размеры не обязательно должны меняться, опять же, этот способ не следит за изменениями размеров, когда дети двигаются
|
watch() или байдинг флексовый (не знаю watch() - это flex framework?).
Upd.: да, это flex framework. |
watch вроде как удалили из AS3? и в ас2 на сколько я помню он позволял отслеживать только динамические св-ва объектов - нет?
|
Мне кажется надо просто перегрузить сеттеры width и height, по-моему внутреннее изменение размеров идет именно через них.
Или я не прав? |
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
width и height - это на самом деле функции))) геттеры и сеттеры
вы к ним обращаетесь за значениями или устанавливаете значения через них когда вы в контейнере двигаете детей друг от друга - размеры контейнера увеличиваются, но обращений вроде "width = что-то" не происходит контейнер на самом деле может вообще не иметь во внутренней реализации свойства width когда вы обращаетесь к его внешнему свойству width (геттеры-сеттеры), он может просто по каким-то своим соображениям перерассчитывать свой размер и выдавать результат отсюда я могу сделать вывод, что моя задача не выполнима кроме как вешать на таймер проверку свойства (в частности размеров)((( |
| Часовой пояс GMT +4, время: 17:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.