Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   выложил статью (http://www.flasher.ru/forum/showthread.php?t=51977)

Stone 09.12.2003 13:10

прочел первую статью про историю становления конвеера... запутался напрочь.
попробовал почитать данный топик...
вообще перепутался.

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

вот только одно непонятно
пока не выпонится весь код в руте (или где он там хранится), проигрывание остальных кадров не начнется или нет???

Geniot 09.12.2003 15:39

Привет john,
прочитал твою статью. Изучаю Яву уже около года, про класс Thread и его методы знаю не понаслышке. Я уже осознал важность изучения ООП и паттернов проектирования в программировании. Планирую вплотную познакомиться с Rational Rose.
Недавно я задал вопрос на другом форуме (ActionScript - http://www.flasher.ru/forum/showthre...threadid=52471), но на него пока никто не ответил. Полагаю у тебя есть для меня ответ. Вот вопрос:

Предположим я хочу написать игру - 2D ходилку, типа Dizzy или Seymour, которые раньше были на ZX-Spectrum'ах. Кто знает, тот поймёт.
Вот как я себе это представляю:
Каждый движущийся объект на экране - отдельный класс со свойствами и методами. Возможно будет 1 обстрактный класс - Enemy - враг, от которого все будут наследовать.
Есть класс Screen - он инициализируется статическими и динамическими объектами - врагами, например. У Screen'a есть матрица - она инициализируется изначально только статическими объектами. Потом все объекты классов (врагов и героя) начинают взаимодействовать с матрицей Screen'a и ведут себя по законам определённым в классах этих объектов.
Например, вопрос:
Каждый объект должен действовать асинхронно с помощью setInterval , например, или следует создать какой нибудь manager, который будет опрашивать объекты?
Сколько RAM может использовать флэш плеер? следует ли буферизовать соседние Screen'ы?
Каких размеров лучше делать матрицу? В каждой ячейке лучше хранить цифры от 0 до 9 , например? а не true/false. Какого размера ячейки?
Возможны ли проблемы со скоростью игры? Следует ли использовать где-нибудь onEnterFrame?

Главный вопрос: если у вас есть опыт подобного программирования или другие варианты решения 2D игры, можете ли вы что-нибудь посоветовать для вышеизложенного решения? или предложить свой.

Ещё вопрос: можно ли написать "единый" движок для 2D игр, с абстрактными классами врагов, статических взаимодействующих объектов (например кувшин, который можно разбить ногой)? скорее, вопрос, не "можно ли", а имеет ли смысл, и не окажется ли в конце, что это никому не нужно, этот движок глючит, сплошные тормоза и вообще C++ рулит.

Как ты видишь, я задал вопрос о менеджере потока событий ещё до того, как прочитал твою статью. Значит данный вопрос актуален.
В качестве ещё одного вопроса: подойдёт ли твой движок для более сложной игры, нежели рулетка? 2D игры с героем, перемещающимся по экрану и взаимодействущим с врагами или другими объектами. И если да, то как лучше это реализовать?

john 10.12.2003 10:03

2Geniot

В твоем вопросе много частностей, и здесь выбор самого разработчика, как и что делать. Если вопрос в конвейере: стоит или не стоит использовать в этом случае – для меня ответ очевиден – стоит. Он хорош тогда, когда есть сложное и разнообразное поведение, состоящие из протяженных во времени действий.

Посоветую использовать схему – один главный конвейер, конвейеры менеджеров, и конвейеры отдельных компонентов (персонажей). Распределяя ответственность и управляя через главный конвейер можно добиться ощутимого контроля над системой.

2Stone
Удовольствие от использования технологии конвейера можно получить, набив достаточное количество шишек до этого. Если есть проблемы с пониманием, то я бы не рекомендовал пока использовать конвейер.

Usnul 10.12.2003 18:57

Джон, я тут ошибочку нашел :)
------------------------------------------------
Итак, на дворе четвертый Flash, и «приложения» делают так. Каждое действие приложение помещается в отдельный мувиклип, без графики, который имеет набор неких фреймов. Фреймы реализуют логику одной протяженной во времени «команды». Запуская проигрывание некого мувиклипа-команды, мы инициализировали процесс выполнения этой команды. Фреймы проигрываются, код в них выполняется, и в конечно
-----------------------------------------------
надо М добавить.

john 10.12.2003 21:52

2Usnul

спасибо огромное,
у меня есть уже текст с литературной правкой,
но переверстать статью все не доходят руки

nuran 19.12.2003 17:40

Ну что john, раскрутка по полной :)
http://cleoag.com/blog/

Steve 21.12.2003 17:47

2Geniot

Ответы на большинство твоих вопросов можно найти в отличной книге по программированию игр "macromedia flash mx game design demystified"
автор jobe makar
Официальное руководство по программированию игр.
Ребята, что работали над книгой написали немало игрушек и несколько из них довольно известны. С одной я сталкивался в инете еще за полтора года до того, как увидел эту книгу в первый раз.

Пока эта книга, к сожалению, только на английском, но если владеешь языком, то постарайся найти.
Скоро будет и перевод - мне как раз пришлось этим заниматься и осталось перевести только предметный указатель. Работа нудная, но я буду стараться сделать ее побыстрее.
По опыту-еще два -три месяца и книга выйдет из печати.

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

jazzy_net 22.12.2003 00:00

на русском есть такая книжка:

http://www.ozon.ru/context/detail/id/1401736/

хотя сложно сказать чтоб она могла сделать всех счастливыми...

а "Macromedia Flash MX Game Design Demystified" можно взять тут — ftp://Guest:www.7yue.com@210.192.122...emystified.rar


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

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