Показать сообщение отдельно
Старый 28.04.2009, 01:15
Ромастый вне форума Посмотреть профиль Отправить личное сообщение для Ромастый Найти все сообщения от Ромастый
  № 19  
Ответить с цитированием
Ромастый
 
Аватар для Ромастый

Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
Цитата:
Сообщение от dimarik Посмотреть сообщение
А чем тут отличие от ентерфрейма? Наоборот, ентерфрейм происходит точно, а нотификации может и не быть. И как Вы собираетесь проверять изменение отслеживаемой величины? Будете писать в приватную пременню старое значение и сравнивать с вновь полученным? И так в каждой вьюхе?...
Ох, ну понеслась по кочкам..
Я рассматривал простейшую ситуацию, когда состояние меняется, а нотификации не требуется, и под состоянием имел ввиду координаты. Не затрагивая остальную модель. Я же не говорил, что нет оповещения о других изменениях. Так например вполне может быть нотификация при изменении скорости, и если отлична от нуля - запускать энтерфрэйм.
Если речь зашла о проверках, то проще писать координаты в самой модели, проверяя округленное значение времени деленного на fps, так чтобы вычисление и запись происходили только при первом обращении на кадре, а остальные запрашивающие получали значение уже записанной переменной. И при постоянном движении несколько энтерфрэймов не будут работать медленнее, чем вызовы всех обработчиков, подписанных на событие.
Но все зависит от постановки задачи и конкретики, вариантов может быть масса. А я привел лишь абстрактный пример.

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

Я хотел лишь показать случай, когда отображение запрашивает "срез" некоего состояния модели, в любой момент времени без дополнительной нотификации со стороны модели.
__________________
...Тебе страшно? Мне - нет.


Последний раз редактировалось Ромастый; 28.04.2009 в 01:19.