Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Flash-скинирование (загрузка растра) (http://www.flasher.ru/forum/showthread.php?t=125268)

marat_sa 20.05.2009 11:45

Flash-скинирование (загрузка растра)
 
Здравстуйте, начал писать игру и хотелось бы сделать для нее поддержку скинов. Нашел на форуме много тем по поводу скинирования. Понял, что лучше использовать растровую графику. В принципе мне это подходит. Подскажите пожалуйста, с какой стороны подойти к этой задаче, с чего начать? Нужно писать какой-то масс-прелоадер с массивом адресов картинок, по окончании загрузки отрисовывать каждую картинку в Bitmap, назначать ее какому-нибудь классу, чистить loader и грузить следующую?
Как вы делаете? Может есть уже готовые мультилоадеры? Заранее спасибо :)

cleptoman 20.05.2009 12:36

я делал немного по другому..

грузил 1 файл со всей нужной графикой и ХМЛ с координатами и размерами нужных мне элементов в этом графическом файле..

затем просто дербанил этот файл на кусочки

Код AS3:

public static function createBMPFromSprite(_bmp:BitmapData,tx:Number,ty:Number,w:Number,h:Number):BitmapData{
        var __bmp:BitmapData = new BitmapData(w,h,true,0);
        var _matrix:Matrix = new Matrix();
        _matrix.translate(-tx,-ty);
        __bmp.draw(_bmp,_matrix);
                        return __bmp;
}


marat_sa 20.05.2009 13:10

Даже так?! О_о
Круто конечно, но по-моему... не гибко что ли... Нужно нам, допустим 1 иконку подправить, контраст там или блюр наложить, это всю эту штуку надо в редактор сувать, всякие доп. действия делать. Но тоже вариант.

Волгоградец 20.05.2009 13:30

Я картинки храню в .swf и оттуда эмбежу.

relevance4 20.05.2009 13:45

скины в swf - очень универсально

marat_sa 20.05.2009 13:46

В смысле эмбежу? Метатегом EMBED? В этом случае для смены скина придется перекомпилировать игру...
А если делать всю графику через linkage в swf-файле, а потом грузить эту 1 swf, как общую либу, и все просто парсить на классы.
Код AS3:

public var ButtonClass:Class;
public var BackGroundClass:Class;
...
 
//по окончании загрузки
ButtonClass = loader.contentLoaderInfo.applicationDomain.getDefinition("Button") as Class;
BackGroundClass = loader.contentLoaderInfo.applicationDomain.getDefinition("BackGroundPicture") as Class;
...

Типа так... Это возможно? Рационально?

etc 20.05.2009 14:30

Лучше описывать скины посредством css.

marat_sa 20.05.2009 14:44

Можно пример или ссылку, пожалуйста?

Волгоградец 20.05.2009 14:49

Вы про Flex Skin Design Extensions? Как без него можно, тоже очень интересно.

marat_sa 20.05.2009 14:53

Ну вообще я имел ввиду скинование во Flash и желательно, собственными силами.


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

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