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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.04.2009, 20:07
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 11  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
tikhop, методы работы с сервером, или методы (де)сереализации? немного различные понятия. а вообще это подвиды контроллеров.

Старый 27.04.2009, 20:27
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 12  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от tikhop Посмотреть сообщение
а где должны храниться методы работы с сервером (AMFPHP, FMS) В модели?
В контроллере серверного соединения.

Старый 27.04.2009, 21:19
Cybo вне форума Посмотреть профиль Отправить личное сообщение для Cybo Найти все сообщения от Cybo
  № 13  
Ответить с цитированием
Cybo

Регистрация: Nov 2001
Адрес: Казань
Сообщений: 118
А в Модели должны храниться полученные данные. Мне так кажется.
Вообще, я склоняюсь к мысли, что Контроллер занимается получением и управлением информационными потоками внутри приложения. А кто должен обрабатывать данные Модель или Контроллер? Например, математические расчёты или расчёт других параметров Модели при изменении одного из них?

Старый 27.04.2009, 22:53
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 14  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Cybo, изменении одно из кого? модель должна хранить данные и рассылать события об изменении. характер изменений задаётся контроллером.

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

Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
Не обязательно. Отображение может запрашивать состояние модели и без нотификации об изменении. Классический пример:

Модель: хранит скорость V, начальные координаты p0 и время начала движения t0. А так же возвращает текущие координаты по формуле:

p = p0 + V * (getTimer() - t0);

Контроллер: меняет скорость (может так же сохранять в модель p0, t0 - но это необязательно, их может рассчитать и сохранить сама модель).

Отображение: регулярно запрашивает у модели текущие координаты (скажем на ENTER_FRAME).
__________________
...Тебе страшно? Мне - нет.

Старый 28.04.2009, 00:17
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 16  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ресурсов нам девать некуда. 30-40 бойцов на поле боя отожрут энтерфреймами немалый фпс. Лучше нотификация.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
Цитата:
Сообщение от dimarik Посмотреть сообщение
Ресурсов нам девать некуда. 30-40 бойцов на поле боя отожрут энтерфреймами немалый фпс. Лучше нотификация.
В случае с частыми обновлениями (например перманентное линейное движение, которое нужно отображать с обновлением экрана), нотификация о КАЖДОМ изменении координат себя как раз не очень оправдывает. А ресурсы тратятся на другое - вопроизведение анимации (на тот же энтерфрейм) ,сортировку, и многое еще чего.
И борются с этим другими способами (останов анимации и пр. за пределами viewArea), пересортировка не на каждый кадр, а на смещение объекта или viewArea, ну и т.п, и т.д.
А вычисление координат по простейшей формуле - это песчинка, и тут запусти хоть 500 ентерфреймов.

Но все зависит от задачи, для других вариантов есть другие решения.
Я просто привел пример.
__________________
...Тебе страшно? Мне - нет.


Последний раз редактировалось Ромастый; 28.04.2009 в 00:37.
Старый 28.04.2009, 00:43
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 18  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
В случае с частыми обновлениями (например линейное движение), нотификация себя как раз не очень оправдывает.
А чем тут отличие от ентерфрейма? Наоборот, ентерфрейм происходит точно, а нотификации может и не быть. И как Вы собираетесь проверять изменение отслеживаемой величины? Будете писать в приватную пременню старое значение и сравнивать с вновь полученным? И так в каждой вьюхе? А если в модели величин несколько десятков? Да десяток вьюх для этой модели. Получается, что помимо усложнения кода мы будем делать каждый ентерфраме 100 проверок. И нафига это вообще делать, если величины в данный момент не измены? Много вопросов. Ответ один - покупай гетеродин.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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

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


Последний раз редактировалось Ромастый; 28.04.2009 в 01:19.
Старый 28.04.2009, 01:30
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 20  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Цитата:
Отображение может запрашивать состояние модели и без нотификации об изменении.
а это не очевидно? модель хранит состояния и оповещает о своих изменениях. это подразумевает, что в любой момент времени я могу узнать состояние. классический пример: инициализация вьювера.

что касается странного спора, то в случаи с перемещением, я бы выбрал средний вариант: модель оповещает о изменении скорости, если скрость отлична от нуля, то вьюха включает ентрфрэйм, иначе выключает.

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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