Могут ли ActionScript и Flash обрабатывать сложные динамически загружаемые модули и архитектуры?

Я собираюсь начать изучать ActionScript и Flash, чтобы написать потенциально очень сложный игровой движок. У меня опыт работы с относительно продвинутой архитектурой программного обеспечения, и поэтому мне интересно, возможны ли некоторые вещи (которые я считаю важными для своего движка) с помощью Flash:

  1. Во-первых, я хочу сделать свою игру модульной, чтобы ее можно было использовать как компонент в других проектах Flash, а также расширить ее с помощью специально написанных компонентов для расширения самого движка.
  2. Я хочу иметь возможность динамически загружать эти модули на лету и через Интернет, чтобы пользователю не нужно было загружать всю (потенциально большую) игру сразу, а только те части, которые необходимы в данный момент.
  3. Мне может потребоваться хранить большие файлы сохранений и промежуточные файлы на компьютере пользователя, которые могут выходить за пределы разрешенного по умолчанию предела для приложений Flash.
  4. Мне, вероятно, понадобится доступ к какой-то базе данных для хранения и получения игровых данных. Поддерживает ли Flash какой-либо доступ к локальным данным?

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


person devios1    schedule 26.12.2009    source источник
comment
около 3, вы можете использовать Filereference.save () для сохранения файлов практически любого размера на компьютере пользователя.   -  person Cay    schedule 27.12.2009


Ответы (2)


Просто некоторая информация, ответ Эрана довольно полный.

1 & 2 = Вы можете использовать модули Flex, это очень удобно и работает очень хорошо. Вы можете найти несколько руководств в Интернете. Он работает довольно хорошо, мы используем его для динамической загрузки / очистки частей игрового движка. Дополнительная информация здесь

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

4 = Лучше было бы использовать RPC, REST или WebServices для хранения данных на сервере.

Что касается вопроса о производительности, это будет зависеть от того, какой сценарий действий вы будете использовать. Я могу только рекомендовать использование ActionScript 3, поскольку он может быть статически скомпилирован и довольно мощный. Кроме того, вы хотите избегать использования динамических классов в ActionScript, если вы хотите что-то действительно производительное (например, для части физического движка или аналогичных функций).

Надеюсь, это поможет :)

person Kel    schedule 28.12.2009
comment
Очень круто - спасибо за подсказки. Я бы проголосовал за, но у моей учетной записи сброса нет репутации. :( - person devios1; 30.12.2009

1 да

2 да

3,4 нет, возможно, стоит взглянуть на Adobe Air или рассмотреть другие возможности Flash, например в качестве сервера для совместной работы (blazeds, red5), который может обрабатывать всю информацию о ваших пользователях, а не хранить их на компьютере пользователя

person Eran    schedule 26.12.2009
comment
Это другая идея, хранение сохраненных игр и т. Д. На сервере. Это определенно вариант, спасибо. - person devios1; 27.12.2009