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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.11.2008, 17:08
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 11  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
s8000_1, если схематично — да. GUI и GAME на одном уровне, но они не общаются друг с другом. Черный квадрат должен быть разбит на две составляющих — модель и контроллер.

Старый 07.11.2008, 15:29
Смольный (Smolniy) вне форума Посмотреть профиль Отправить личное сообщение для Смольный (Smolniy) Посетить домашнюю страницу Смольный (Smolniy) Найти все сообщения от Смольный (Smolniy)
  № 12  
Ответить с цитированием
Смольный (Smolniy)
Человек и Здание
 
Аватар для Смольный (Smolniy)

администратор
Регистрация: Aug 1999
Адрес: Москау-сити, Рассея
Сообщений: 4,671
Отправить сообщение для Смольный (Smolniy) с помощью ICQ
Цитата:
Черный квадрат должен быть разбит на две составляющих — модель и контроллер.
... а GUI и GAME объединены в один - представление

Когда я вижу MVC, я невольно вспоминаю AFT...
А если серьезно, то вот лично я отношусь к шаблонам проектирования скептически и категорически не согласен с их догматичным навязыванием, каким нередко занимаются их апологеты. Стандартизация - это здорово, но без фанатства. Любые универсальные решения плохи тем, что они практически всегда менее экономичны, чем решения ad hoc. Представляю себе банальный прелоадер на MVC... И вообще, примеров неудобства или даже идиотизма MVC можно привести массу. Особенно это касается именно флаша, с его гибридной системой построения приложения. Зачастую элементы проекта - клипы - являются и частью модели, и частью представления одновременно, а принудительное разнесение их на несколько объектов отдает уже автомазохизмом...
__________________
Регардсы.

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

Регистрация: Sep 2002
Сообщений: 30,787
Смольный, конечно, всё относительно масштабов проекта, но для игрушки таки лучше MVC.

Старый 07.11.2008, 17:20
Смольный (Smolniy) вне форума Посмотреть профиль Отправить личное сообщение для Смольный (Smolniy) Посетить домашнюю страницу Смольный (Smolniy) Найти все сообщения от Смольный (Smolniy)
  № 14  
Ответить с цитированием
Смольный (Smolniy)
Человек и Здание
 
Аватар для Смольный (Smolniy)

администратор
Регистрация: Aug 1999
Адрес: Москау-сити, Рассея
Сообщений: 4,671
Отправить сообщение для Смольный (Smolniy) с помощью ICQ
___etc, ты знаешь, я когда делал игрушки, старался, конечно, использовать какие-то такие наработки, но обломался, поэтому и скепсис.
Например, во многих игрушках часто нужны довольно простенькие коллизии, которые легко порешать hitTest-ом. Исходя из идей MVC, приходится контроллером обработать событие (сдвиг объекта), дать команду на изменение модели (пересчитать координаты), она говорит вьюверу - отобрази, потом опять просыпается контроллер, проверяет коллизию, и может весь этот мегапроцесс инициировать снова.
Потом, проблема синхронизации обновления вью и модели - за один такт (enterFrame, положим) изменяется много состояний в модели, притом независимо, и после каждого идет команда от модели на изменение вью, а нужно одно - после всех модицикаций, поэтому часть функционала модели (например, событие об изменении модели, которое надо отобразить вьюверу) фактически выполняет контроллер. Т.е. куча исключений, которые друг на друга так наслаиваются, что получается не следование шаблону, а только запутывание самого себя. Сроки же в нашу эпоху экстремального программирования таковы, что пришлось на все плюнуть слюною и делать как придется, лишь бы быстрее и работало. В результате остаются только простейшие вещи типа очередей и юзанья более-менее толковой цепочки классов, включая абстрактные...
Я не призываю к плохому программированию, просто отмечаю, что жизнь часто не соответствует идеальным концепциям, сколь бы приятными они ни были.

Все описанное я для себя называю "Алые Паруса и программирование"
__________________
Регардсы.


Последний раз редактировалось Смольный (Smolniy); 07.11.2008 в 17:22.
Старый 07.11.2008, 17:23
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 15  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Смольный, тут дело в конкретных примерах, где MVC действительно не стоит использовать. Но в целом, я думаю, лучше всё-таки подходить сначала с ним

Старый 07.11.2008, 17:24
Смольный (Smolniy) вне форума Посмотреть профиль Отправить личное сообщение для Смольный (Smolniy) Посетить домашнюю страницу Смольный (Smolniy) Найти все сообщения от Смольный (Smolniy)
  № 16  
Ответить с цитированием
Смольный (Smolniy)
Человек и Здание
 
Аватар для Смольный (Smolniy)

администратор
Регистрация: Aug 1999
Адрес: Москау-сити, Рассея
Сообщений: 4,671
Отправить сообщение для Смольный (Smolniy) с помощью ICQ
Ок, сочтем за консенсус
__________________
Регардсы.

Старый 07.11.2008, 18:32
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 17  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Покажите мне исходник флэш-приложения, в котором используется MVC. До сих пор никак не могу найти такое чудо.
__________________
тонкий тролль, осеянный благодатью

Старый 07.11.2008, 19:40
AS3noob вне форума Посмотреть профиль Отправить личное сообщение для AS3noob Найти все сообщения от AS3noob
  № 18  
Ответить с цитированием
AS3noob

Регистрация: Nov 2008
Сообщений: 14
Спасибо за мнения, друзья!

А вот подскажите еще почему происходит такое чудо:
1. делаю клип
2. в 5м кадре - ключ, текстовое поле tf, типа инпут, бордюр, начальное значение dsfg. Там же - квадрат, конверт в клип, имя bb
3. в 10м кадре - f5
4. Клип линкейджу, класс test.
Код:
package  { 
		import flash.display.MovieClip; 
		import flash.text.TextField;
		import flash.events.*;
		public class test extends MovieClip { 
			public function test() { 
					addEventListener(Event.ENTER_FRAME, Update);
			}
			public function Update(eprst:Event) { 
				trace (bb)
				trace (tf)
				trace (tf.text)
				tf.text += "q";
			}
		}
}
И что вы думаете?
Сначала печатает
null
null
TypeError: Error #1009: Cannot access a property or method of a null object reference.
несколько раз, все логично
Потом
[object MovieClip]
[object TextField]
dsfg
[object MovieClip]
[object TextField]
dsfgq
и так далее, притом даже когда клип перехлестнулся в начало и поля (клипа bb) как бы не было.

Наблюдение раз - когда визуалки поля не стало, объект класса все равно существует и свойства его доступны. Кашмар! Это не просто "не по-as2шному", это просто не по-человечески... Исходя из логики - если есть возможность создать объект без new руками, почему он не умирает из тех же соображений?
Наблюдение два - и где же movieClip нединамический класс?

Продолжаю тест, в 10м - f7, в 15м - f5

Сначала объекта нет, потом есть, потом нет, т.е. пустой ключ все-таки убивает объекты слоя... При авто-переходе же в начало клипа - не убивает.

Старый 07.11.2008, 19:44
Смольный (Smolniy) вне форума Посмотреть профиль Отправить личное сообщение для Смольный (Smolniy) Посетить домашнюю страницу Смольный (Smolniy) Найти все сообщения от Смольный (Smolniy)
  № 19  
Ответить с цитированием
Смольный (Smolniy)
Человек и Здание
 
Аватар для Смольный (Smolniy)

администратор
Регистрация: Aug 1999
Адрес: Москау-сити, Рассея
Сообщений: 4,671
Отправить сообщение для Смольный (Smolniy) с помощью ICQ
GAIKER

Ну вот например:
http://fla-master.livejournal.com/3972.html#cutid1
Только оно ма-а-ахонькое... Ловит нажатие на клаву и выдает кейкод, и ффсе
__________________
Регардсы.

Старый 07.11.2008, 20:11
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 20  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>когда визуалки поля не стало, объект класса все равно существует и свойства его доступны

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

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

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

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


 


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


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