Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Embed BitmapDat'ы вместо Bitmap (http://www.flasher.ru/forum/showthread.php?t=195857)

Universe 14.03.2013 19:40

Embed BitmapDat'ы вместо Bitmap
 
Всем привет! Делаю эмбед картинки
Код AS3:

[Embed(source = "../bin/img/star.jpg", mimeType="image/jpg")]
        public static const Star:Class;

Как мне сделать так чтобы Star() был не Bitmap, а возвращал BitmapData?

MikroAcse 14.03.2013 19:43

Это, по-моему, только в Adobe Flash CS доступно (да и изменить это нельзя).

chamele0n 14.03.2013 19:47

а чем тебя неустраивает ?
Код AS3:

new Star().bitmapData


incoob 14.03.2013 20:35

Цитата:

Сообщение от Universe (Сообщение 1125244)
Как мне сделать так чтобы Star() был не Bitmap, а возвращал BitmapData?

Код AS3:

package
{
        import flash.display.BitmapData;
        [Embed(source='../bin/img/star.jpg')]
 
        public class Star extends BitmapData
        {
                public function Star()
                {
                        super(0, 0);
                }
        }
}


Цитата:

Сообщение от chamele0n (Сообщение 1125246)
а чем тебя неустраивает ?
Код AS3:

new Star().bitmapData


Потому что куча ненужного мусора из flex sdk внедряется при этом.

Universe 14.03.2013 20:45

значит придётся юзать swc скомпиленное из Flash ?

MikroAcse 14.03.2013 20:51

Можно сделать так:
Код AS3:

[Embed(source = "../bin/img/star.jpg", mimeType="image/jpg")]
public static const StarBitmap:Class;
public static const Star:BitmapData = new Star().bitmapData;

И потом уже юзать clone().

incoob 14.03.2013 20:55

Я пользуюсь компилятором из flex sdk.
Используете этот класс в нужной вам swf - при чем тут swc?
1) Если вам нужно загружать флешку с внедренными данными, то создаете класс наподобие
Код AS3:

package
{
        import flash.display.*;
 
        public class EntryPoint extends Sprite
        {
                public function get bitmapData():BitmapData
                {
                        return new Star();
                }
        }
}

Ну и при загрузке такой флешки пользуйтесь геттером bitmapData.

2) Если хотите данные внедрять в основную флешку, то тут, думаю, способ использования ещё более очевиден :)

Добавлено через 1 минуту
Цитата:

Сообщение от MikroAcse (Сообщение 1125261)
Например, Bitmap?
Ну и что? Все равно ведь он понадобится для отображения BitmapData.
Можно сделать так:
Код AS3:

[Embed(source = "../bin/img/star.jpg", mimeType="image/jpg")]
public static const StarBitmap:Class;
public static const Star:BitmapData = new Star().bitmapData;

И потом уже юзать clone().

Ради интереса попробуйте сами посмотреть, какие файлы внедряются в такую флешку.
Bitmap не входит в Flex SDK. Он, что называется, "внедрен" в сам flash player.

Если не секрет, зачем использовать clone?

MikroAcse 14.03.2013 20:59

Цитата:

Ради интереса попробуйте сами посмотреть, какие файлы внедряются в такую флешку.
Bitmap не входит в Flex SDK.
Извиняюсь.


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

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