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

Jitakuzu 03.08.2011 14:02

Отследить перерисовку объекта
 
Как отследить, что объект изменил свой внешний вид? Например, в текстовом поле новый текст появился (CHANGE не подходит, так как если поле невидимое, то визуально оно не поменялось, а CHANGE сработает). Или, например, мувиклип перешел в другой кадр, отличающийся от предыдущего. Нужен какой то эвент вроде onDraw, если есть такой.
Заранее спасибо

КорДум 03.08.2011 14:08

Переопределите сеттер text у TextField. Или, вы же меняете текст его? Ну так вставьте после смены текста диспатч события.

Jitakuzu 03.08.2011 14:09

мне надо отследить визуальные изменения у любых объектов, не только текстовых полей.

КорДум 03.08.2011 14:11

Ну и диспатчите события, кто мешает?
Сделайте свое событие с параметром - DrawEvent. В параметр передавайте ссылку на изменившийся объект, если не хотите заморачиваться. Только зачем это вам нужно?

in4core 03.08.2011 14:12

Цитата:

Ну и диспатчите события, кто мешает?
Совесть )))))

Wolsh 03.08.2011 14:15

Объекты, за которыми надо следить, должны сами уведомлять о своем изменении. Они-то, надеюсь, знают что изменились?))
Про CHANGE забавно, ага. Ничто не мешает, получив это событие, узнать, отображается ли поле в данный момент. Для мувиклипа можно повесить следилку, которая будет проверять на ENTER_FRAME номер текущего кадра и сравнивать его с предыдущим. Но вообще это проблема архитектуры, как и всегда, когда вам кажется, что "Adobe о вас не позаботились"))) Думайте, как лучше организовать приложение. Ничто не происходит само по себе. Все можно отследить, если нужно.

Jitakuzu 03.08.2011 14:16

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

Добавлено через 1 минуту
Wolsh,
Как отследить изменение текста, не переписывая класса ТекстФилд, если текст изменился из кода?

Wolsh 03.08.2011 14:18

Что Вы имеете в виду под "подходил"?

goodguy 03.08.2011 14:19

Цитата:

хорошо, какой эвэнт диспатчить, чтоб он подходил и для текстовых полей, и для мувиклипов и для всего остального, что только можно придумать.
Собственный. Или стандартный Event.CHANGE. Какая разница

Jitakuzu 03.08.2011 14:19

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

Добавлено через 44 секунды
goodguy,
CHANGE не срабатывает, если текстовое поле изменено из кода. я проверил


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

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