|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2008
Сообщений: 23
|
Как реализовать переход между локациями (разными swf) в многопользовательской игре.
Здравствуйте.
В процессе разработки многопользовательской игры возникла необходимость перемещения игроков между разными локациями. На разных локациях должны быть реализованы различные взаимодействия между локацией и игроком (магазин) или между локацией и игроками (бой на арене). В процессе работы я пришёл к тому, что все локации надо делать отдельными swf. Получается, что надо написать менеджер локаций , который будет загружать нужную swf и передавать в неё параметры, необходимые для её работы .А потом ждать события о переходе на другую локацию, выгружать из памяти текущую и загружать следующую. И т.д. Реализовать подобное можно разными путями, в связи с этим возникает вопрос, как такой механизм реализован в уже существующих flash mmorpg проектах. Как передаются параметры, через flashvars или вызывается конструктор класса из подгруженной swf? Насколько самостоятельны загружаемые swf, прописывать ли в них документ-класс или использовать их только как хранилища кода и графики? Как выгружать ненужные локации? Как реализован обмен данными во время работы, через события или LocalConnection? Буду рад любой информации, спасибо. |
|
|||||
Регистрация: Feb 2007
Сообщений: 63
|
Почему 1 локация - 1 свф? Что мешает грузить какой-нибудь ХМЛ с картой локации, строить по этой ХМЛ саму локацию и показывать ее юзеру? При таком подходе вопрос передачи параметров отпадает сам собой, не говоря уже обо всем остальном.
|
|
|||||
Регистрация: Nov 2008
Сообщений: 23
|
2 ToRR: "Локации" могут быть абсолютно разными. Можно назвать их модулями. Т.е. отдельная локация – отдельный движок. А однотипные локации, конечно, отличаются только параметрами (xml).
|
|
|||||
Регистрация: Jul 2009
Сообщений: 35
|
Создай один главный swf, в котором прелоадер, меню, основная логика игры.
Загруженная swf(loader.content) это ничто иное как класс документа этой swf. Загрузив можно сразу обращаться к её методам, определённым в классе документа или в кадрах. Можно вынимать определения классов и создавать объекты класса(ApplicationDomain.getDefinition()). Обратную связь думаю лучше делать вызовами функций главной swf, а не событиями. Правильно настроив домены. Поэтому подробно читай LoaderInfo,ApplicationDomain и LoaderContext. Может ты что-то из этого не знаешь и это тебе поможет. Последний раз редактировалось elfon; 14.10.2009 в 15:23. Причина: лишнее ты |
Часовой пояс GMT +4, время: 18:39. |
|
« Предыдущая тема | Следующая тема » |
|
|