Однократная загрузка многократноиспользуемых данных

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.

Однократная загрузка многократноиспользуемых данных

Сообщение Agiliter » 22 сен 2014, 05:44

Добрый день! Столкнулся намедни с одной небольшой проблемой. Занимался написанием инвентаря. Существует класс Предмет, в который при создании передается только его itemID, а дальше все свойства загружаются с сервера из внешнего файла. Пока сделал, что файл-таблица свойств предметов по ID загружается каждый раз при создании экземпляров класса Предмет. Но это не кажется мне разумным. Гораздо логичнее было бы, чтобы он загрузился один раз, а дальше просто передавался в Класс предмет. Например, таблица загружается с сервера в классе Инвентарь, а затем передается в класс Предмет. Пока только такое решение придумал. Но опять таки. Класс Предмет может использоваться по всему приложению. В классах Инвентарь, Магазин, Персонаж и мало ли еще где. Кроме того, существуют и другие таблицы, внешние файлы, которые могут быть многократно использованы в разных частях приложения. Можно ли (и как, если можно) это как-то обыграть в приложении?

У меня только грубо получается придумать. Например, загрузить всё в классе Главный класс, передать в Класс2, затем внутри него в класс3 ... КлассN. Например, в Main создается Контроллер, в него сразу же передается таблица предметов, в контроллере инициализируется Модель, в которую передается таблица уже из Конроллера. В Модели создается Инвентарь, в который так же передается эта таблица Из Модели и т.д. Дофига уровней вложенности, различных таблиц использоваться может куча, и как тут за всем уследить, чтобы на каждый уровень передавать всё что нужно. Может существует какой-то способ хранить всё в каком-нибудь локальном хранилище? Чтобы загрузил туда, а потом брал из любого места приложения, не парясь с передаванием по уровнями и не общаясь непрерывно с сервером.
С уважением,
М.Ф.
Agiliter

 
Автор темы
Сообщения: 112
Зарегистрирован: 01 фев 2014, 13:46
Благодарил (а): 29 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Однократная загрузка многократноиспользуемых данных

Сообщение XELAD » 22 сен 2014, 17:56

В классе Инвентарь создать static public var <имя>:<класс, который вы выберете>. В главном классе загрузить "файл-таблица свойств предметов по ID" , записать в Array/XML/Object/Dictionary (нужное подчеркнуть), к примеру в var SMTH, и/или передать в класс Инвентарь таким образом:

Любые классы, в том числе инвентарь и предмет, смогут пользоваться данной переменной. Классы отличные от того, где содержится <имя> (в нашем случае отличные от инвентарь), смогут обращаться к <имя> таким образом (пример):
  1. for(var i in КлассИнвентарь.<имя>){...

В классе инвентарь можно будет писать:
XELAD

 
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25
Благодарил (а): 13 раз.
Поблагодарили: 24 раз.


Вернуться в Программирование на Flash



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron