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

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

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

Регистрация: Feb 2008
Сообщений: 890
По умолчанию Как отслеживать изменения свойства?

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

Подход с проверкой по таймеру не предлагать)))
Повесить сеттеры - тоже не то, т.к. будут отслеживаться только изменения, произведенные вручную, например width = 10, а автоматические не будут (например, когда мы в спрайт будем добавлять какое-то содержимое, его размеры могут меняться - при этом сеттер не будет этого улавливать).

Копать в сторону Proxy?
__________________
скриптограф

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

Регистрация: Jun 2008
Адрес: Tomsk
Сообщений: 88
Код AS3:
override public function addChild

Старый 24.05.2010, 14:07
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 3  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
давайте без частностей))) спрайты я привел лишь в пример, да и то вы неудачный способ предложили, т.к. при добавлении нового ребенка размеры не обязательно должны меняться, опять же, этот способ не следит за изменениями размеров, когда дети двигаются
__________________
скриптограф


Последний раз редактировалось orcpochta; 24.05.2010 в 14:09.
Старый 24.05.2010, 14:15
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 4  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
watch() или байдинг флексовый (не знаю watch() - это flex framework?).

Upd.: да, это flex framework.


Последний раз редактировалось Волгоградец; 24.05.2010 в 14:18.
Старый 24.05.2010, 14:18
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 5  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
watch вроде как удалили из AS3? и в ас2 на сколько я помню он позволял отслеживать только динамические св-ва объектов - нет?
__________________
скриптограф

Старый 24.05.2010, 14:25
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 6  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Мне кажется надо просто перегрузить сеттеры width и height, по-моему внутреннее изменение размеров идет именно через них.
Или я не прав?

Старый 24.05.2010, 14:32
F1esk вне форума Посмотреть профиль Отправить личное сообщение для F1esk Найти все сообщения от F1esk
  № 7  
Ответить с цитированием
F1esk
 
Аватар для F1esk

Регистрация: Jun 2008
Адрес: Tomsk
Сообщений: 88
Цитата:
Сообщение от orcpochta Посмотреть сообщение
давайте без частностей))) спрайты я привел лишь в пример
addChild - метод DisplayObjectContainer

Цитата:
Сообщение от orcpochta Посмотреть сообщение
когда мы в спрайт будем добавлять какое-то содержимое, его размеры могут меняться
Цитата:
Сообщение от orcpochta Посмотреть сообщение
да и то вы неудачный способ предложили, т.к. при добавлении нового ребенка размеры не обязательно должны меняться
что это? dispatchEvent нельзя обернуть в необходимое условие?

Цитата:
Сообщение от orcpochta Посмотреть сообщение
опять же, этот способ не следит за изменениями размеров, когда дети двигаются
для того, чтобы что-то увидеть, нужно смотреть/слушать

Старый 24.05.2010, 14:37
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 8  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Сообщение от enepx Посмотреть сообщение
Мне кажется надо просто перегрузить сеттеры width и height, по-моему внутреннее изменение размеров идет именно через них.
Или я не прав?
в первом посте я написал, что это не поможет - изменения размеров по сути не происходит, когда мы что-то добавляем или двигаем в контейнере, т.е. при этом не выполняется например никакого width = 10.
__________________
скриптограф

Старый 24.05.2010, 14:42
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 9  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Цитата:
Сообщение от orcpochta Посмотреть сообщение
в первом посте я написал, что это не поможет - изменения размеров по сути не происходит, когда мы что-то добавляем или двигаем в контейнере, т.е. при этом не выполняется например никакого width = 10.
Я читал Ваш первый пост. Вы точно проверяли, что при изменении внутренних детей спрайта у него не вызываются сеттеры width и height? Как-то же width и height меняются у спрайта.

Старый 24.05.2010, 14:47
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 10  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
width и height - это на самом деле функции))) геттеры и сеттеры

вы к ним обращаетесь за значениями или устанавливаете значения через них
когда вы в контейнере двигаете детей друг от друга - размеры контейнера увеличиваются, но обращений вроде "width = что-то" не происходит

контейнер на самом деле может вообще не иметь во внутренней реализации свойства width
когда вы обращаетесь к его внешнему свойству width (геттеры-сеттеры), он может просто по каким-то своим соображениям перерассчитывать свой размер и выдавать результат

отсюда я могу сделать вывод, что моя задача не выполнима кроме как вешать на таймер проверку свойства (в частности размеров)(((
__________________
скриптограф


Последний раз редактировалось orcpochta; 24.05.2010 в 14:52.
Создать новую тему Ответ Часовой пояс GMT +4, время: 16:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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