Хотелось бы узнать, как вы организуете управление изображениями в игре? То есть, BitmapData'ами.
Сейчас у меня в игре 600 изображений в формате PNG. Работаю я сними следующим образом:
Код AS3:
public class Images
{
public static const image_1_class:Class;
public static var image_1:BitmapData;
public static const image_2_class:Class;
public static var image_2:BitmapData;
...
}
// инициализация при запуске игры
Images.image_1 = new Images.image_1_class().bitmapData;
Images.image_2 = new Images.image_2_class().bitmapData;
Когда мне нужно создать кнопку с нужной текстурой, я делаю так:
Код AS3:
new Button().setTexture(Images.button_close);
Часть изображений используется для лобби, другая часть используется для игрового интерфейса, третья часть используется в качестве атласов. Думается мне, хранить все текстуру в памяти плохой подход, если в конкретный момент используется только часть из них. Допустим, когда я запустил игру, мне не нужны изображения для лобби.
Сейчас я хочу сделать какой-нибудь контент менеджер, но не знаю, насколько это хорошая идея. Он будет создавать изображения только по запросу. Внутри него будет таймер, который будет срабатывать каждые пять минут. И эти каждые пять минут будет происходить проверка - запрашивалось ли изображение за последние пять минут, если нет, то оно освобождается (BitmapData.dispose).