Форум Flasher.ru

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

SkyBall 07.11.2013 20:07

Встраивание графики в флешку
 
У меня есть флешка, но я не хочу что бы изображения в неё загружались через Loader, как запихать эти изображения в библиотеку для последующего использования?

компилирую с помощью FlashDevelop

могу я создать библиотеку с помощью Flash Professional CS6 и вызывать изображения прямо из неё?

нужно ли использовать символы для этого? и как обращаться к символам в коде, если я подключу к этому коду библиотеку с данными символами

caseyryan 07.11.2013 20:10

Предположим, что картинка лежит в той же папке, что и класс, в котором она встраивается, и называется image.png
Тогда встроить ее можно так:
Код AS3:

[Embed(source = "image.png")]
public static const SomeImage:Class;
private var _image:Bitmap = new SomeImage() as Bitmap;


SkyBall 07.11.2013 20:34

один вопрос, а при компиляции эта картинка будет должна лежать в той же папке или она будет добавлена в swc файл? и файл будет полностью автономен, так как будет иметь свою копию этой картинки так?

caseyryan 07.11.2013 20:49

Она может лежать в другой папке, главное путь правильно указать в source
Цитата:

и файл будет полностью автономен, так как будет иметь свою копию этой картинки так?
Именно так. Картинка "вкомпилируется" в swf файл и станет его частью

SkyBall 07.11.2013 21:05

Цитата:

Сообщение от caseyryan (Сообщение 1151571)
Она может лежать в другой папке, главное путь правильно указать в source

Именно так. Картинка "вкомпилируется" в swf файл и станет его частью

спасибо то что нужно!)

Добавлено через 25 минут
Код AS3:

        public class LoadImages extends Sprite
        {
 
                [Embed(source = "/images/test.jpg")]
                public static const SomeImage:Class;
 
                public function LoadImages()
                {
                        var _image:Bitmap = new SomeImage();
                        addChild(_image);
                }
 
        }

у меня получился вот такой вот класс, вот только есть одна проблема, я хотел бы сделать такой класс что бы можно было файл задавать динамически, тоесть как то так:
Код AS3:

        public class LoadImages extends Sprite
        {
 
                [Embed(source = "/images/test.jpg")]
                public static const SomeImage:Class;
 
                public function LoadImages(fileName:String)
                {
                        var _image:Bitmap = new SomeImage();
                        addChild(_image);
                }
 
        }

т.е. добавил переменную fileName в вызов класса, но понятия не имею как ее добавить в Embed, ведь Embed вызывается перед конструктором :(
Код AS3:

[Embed(source = fileName)]


caseyryan 07.11.2013 22:03

Никак. Для динамической загрузки есть Loader / URLLoader
Эмбэд вызывается еще в компайлтайме, и значения переменных там не известны

п.с. В ФД не обязательно вручную вписывать код эмбэда. Можно кликнуть правой кнопкой по картинке и выбрать generate embed code

SkyBall 07.11.2013 22:14

класс спасибо буду иметь ввиду


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

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