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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.09.2005, 00:34
Бармалей вне форума Посмотреть профиль Отправить личное сообщение для Бармалей Посетить домашнюю страницу Бармалей Найти все сообщения от Бармалей
  № 1  
Ответить с цитированием
Бармалей
 
Аватар для Бармалей

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 784
Отправить сообщение для Бармалей с помощью ICQ
По умолчанию Правильное ООП

Доброго времени суток вам уважаемые господа флешеры.

Очень тут взволновал меня один вопрос.

Допустим у нас есть несколько объектов класса Ball. Эти объекты должны двигаться каждый по своей траектории, обусловленной различными внешними факторами: сила ветра, начальная скорость. И вот здесь возникает вопрос: как правильно с точки зрения ООП и практичности кода реализовать движение этих объектов.

Вариант 1: Сохранить в прототипе класса Ball метод move и вызывать его из каждого объекта.

Вариант 2: Сделать глобальный метод среды, который будет определять кто из объектов должен двигаться и в зависимости от этого передвигать их.

Господа-профессионалы, поделитесь опытом.
__________________
Garbage Collector || AIR (Apollo) Docs

Старый 14.09.2005, 00:47
Samodelkin вне форума Посмотреть профиль Отправить личное сообщение для Samodelkin Найти все сообщения от Samodelkin
  № 2  
Ответить с цитированием
Samodelkin

Регистрация: Jul 2005
Адрес: Москва
Сообщений: 452
Отправить сообщение для Samodelkin с помощью ICQ
Вариант 1. С точки зрения ООП
Вариант 2. Практичней из-за особенностей самого флэша (особенно если шариков много)
__________________
Давайте отбросим факты, чтобы увидеть суть

Старый 14.09.2005, 13:29
Бармалей вне форума Посмотреть профиль Отправить личное сообщение для Бармалей Посетить домашнюю страницу Бармалей Найти все сообщения от Бармалей
  № 3  
Ответить с цитированием
Бармалей
 
Аватар для Бармалей

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 784
Отправить сообщение для Бармалей с помощью ICQ
Господа, неужто только один человек сталкивался с подобным выбором?
Отчего стоит исходить при структурировании кода?
__________________
Garbage Collector || AIR (Apollo) Docs

Старый 14.09.2005, 13:39
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 4  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
оба варианта правильные, просто во втором варианте ты создаешь еще твинМанэджер, а в инстансы классов регистриуешь в нем при надобности движения.

Так собственно работают почти все программные твины, тогоже роберта принера и макромедийные

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

Старый 14.09.2005, 13:47
kost@ вне форума Посмотреть профиль Отправить личное сообщение для kost@ Посетить домашнюю страницу kost@ Найти все сообщения от kost@
  № 5  
Ответить с цитированием
kost@
[+ 1.7 - 04.02.2006]
 
Аватар для kost@

Регистрация: Jul 2005
Адрес: ПТЗ
Сообщений: 313
Отправить сообщение для kost@ с помощью ICQ
Цитата:
Сообщение от Бармалей
Отчего стоит исходить при структурировании кода?
Ну сам-то подумай...
Для кого делают классы? Для обычных пользователей. Чтобы им было удобнее управлять объектом! Как здорово:
Math.sin(0) - и посчитался синус! Не нужно ничего высчитывать ручками!
Array.unshift() - и не нужно заморачиваться с индексами!
MovieClipLoader.onLoadProgress - и забудьте про рутину с загрузкой клипов!
...
---
Канэчно, при использовании классов появляются накладные расходы ресурсов! Всякие конструкторы, контекст обращения к объекту... Поэтому, если ты оптимизируешь код - пиши внешнюю процедуру управления шариками, если ориентируешься на пользователя - юзай класс!
Это не вопрос к профи, это основы программирования.
Как думаешь, почему все рассуждают о том, что если программировать DOOM3 на ассемблере, то достаточно было бы 386 компа 80)
Вопрос ресурсов: сколько это времени займет. Думаю, что если начать использовать ассемблер с жестким архитектурным контролем кода, то в этот дум и наши правнуки бы не успели поиграть! А деньги разработчики хотят уже сегодня... Утрирую, но суть от этого не меняется.

Хотя оптимизация оптимизации рознь. Стоит ли оптимизировать код, если у тебя 3 шарика? Которые будут прыгать по ветру в течении 3-х секунд? И вообще, зачем для этого нужны классы! Отдаем дань моде? 80)
Сделай простой мувик с интерфейсным управлением: мувик с шариком с набором функций:
поменять скорость()
поменять координаты()
поменять еще чего-нибудь()
...

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

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 784
Отправить сообщение для Бармалей с помощью ICQ
to kost@: шарики я привел лишь в качестве примера. Задам вопрос более правильно: "Есть игра. В игре по полю бегают несколько ботов. Боты бегают, наталкиваются на различные препятствия, меняют направление движения. Так, блин, как правильно, удобнее и целесообразнее организовать движение этих объектов? И от каких факторов зависит выбор варианта?"
__________________
Garbage Collector || AIR (Apollo) Docs

Старый 14.09.2005, 14:57
kost@ вне форума Посмотреть профиль Отправить личное сообщение для kost@ Посетить домашнюю страницу kost@ Найти все сообщения от kost@
  № 7  
Ответить с цитированием
kost@
[+ 1.7 - 04.02.2006]
 
Аватар для kost@

Регистрация: Jul 2005
Адрес: ПТЗ
Сообщений: 313
Отправить сообщение для kost@ с помощью ICQ
А-а, тут все серъезней... Я бы использовал классы. Меньше потом отвлекаешься на программную логику. Если ошибешься в просчетах - быстрее исправить: переписал один соответствующий метод...
На классах - удобнее. Факт!

Старый 14.09.2005, 15:49
nuran вне форума Посмотреть профиль Отправить личное сообщение для nuran Найти все сообщения от nuran
  № 8  
Ответить с цитированием
nuran

Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
Цитата:
Сообщение от Бармалей
to kost@: шарики я привел лишь в качестве примера. Задам вопрос более правильно: "Есть игра. В игре по полю бегают несколько ботов. Боты бегают, наталкиваются на различные препятствия, меняют направление движения. Так, блин, как правильно, удобнее и целесообразнее организовать движение этих объектов? И от каких факторов зависит выбор варианта?"
Через классы
__________________
flash/flex/unity

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

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

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


 


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


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