![]() |
Отследить изменение размера объкта
Как отследить изменение размера объекта, создаваемого с размерами, реагирующими на изменение размера сцены. Просмотрел класс Event, погуглил, но то ли пропустил, то ли не нашел. Заранее спасибо.
|
Event.RESIZE?
|
Dimax4d, пробовал, никакой реакции...
|
Я его на stage вешал, с ней работает
|
Dimax4d, на stage-е и у меня работает, как-никак объект-то резиновый... А вот как в отношении обычного объекта...
Да и вообще. Можно ли как-то отследить изменение значения какой-либо переменной? |
может вам тогда переопределить геттер и сеттер на свойства width и height так, чтобы они генерировали событие при изменении?
сам не пробовал, но вдруг... |
Dimax4d, а можно подробней? Примерчик элементарный или ссылку?
|
Сейчас попробую сам закодить, о результатах отпишусь
|
Флешевые дисплей-объекты не диспатчат никаких событий когда вы меняете им размеры, для того, чтобы такие события получать, вам нужно будет отнаследоваться от какого-нибудь наследника DisplayObject и переписать ему свойства width, height, scaleX, scaleY, scrollRect. К сожалению, если вы поменяете размеры через DisplayObject#transform.matrix или используя API для рисования, то отследить изменения размеров вам не удасться.
|
Код AS3:
|
Dimax4d, честно говоря немного не догоняю. Предлагаю абстрактный пример: при изменении значения некоторой переменной вне функции, изменяющей соответствующую переменную, вызвать другую функцию
Код AS3:
|
С классом Number пример неудачный. Он определен как final, то есть от него нельзя наследоваться, да и смысла в этом нет. А по сути - почитайте что такое методы get и set для начала, и про систему событий. Тогда мой пример станет вам понятен
Добавлено через 4 минуты Код AS3:
|
1046: Type was not found or was not a compile-time constant: MySprite.
1180: Call to a possibly undefined method MySprite. 1180: Call to a possibly undefined method MySprite. Почитал. Как я понял - это обычные свойства того или иного объекта. Читал Мука, там не нашел что б при изменении того или иного значения вызывалась какая-либо функция. get просто получает значение, set задает. |
Вложений: 1
Type not found потому что вам надо в ту же папку поместить файл из предыдущего моего примера, тогда скомпилится.
Цитата:
|
Класс с твоей переменной:
Код AS3:
Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 21:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.