Как заставить растровое изображение генерировать SWF-файл
Ресурс растрового изображения. Обычно это заставляет растровое изображение генерировать SWF-файл и использовать класс Loader для загрузки в приложение. Я ищу ответы в Google и нахожу два способа создания SWF-файла, один. используйте инструмент mxmlc. и еще, используйте jsfl. Я знаю, что мы можем встроить растровое изображение или файл SWF в код As. и используйте команду mxmlc следующим образом: файл as - это Vip.as, а код:
package
{
public class Vip
{
[Embed(source="vip.gif"]
public static var vip:Class;
}
}
и теперь я использую mxmlc Vip.as... У него есть файл Vip.swf, загрузите файл Vip.swf на сервер. Затем, во flashBuilder, создайте новый проект ActionScript, код приложения:
public class LoadUI extends Sprite
{
public function LoadUI()
{
init();
}
private function init():void {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
var context:LoaderContext = new LoaderContext();
context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load( new URLRequest('http://localhost/swfResouce/Vip.swf'));
}
private function completeHandler(e:Event):void {
var loaderInfo:LoaderInfo = e.currentTarget as LoaderInfo;
}
и отладить приложение, ошибка:
VerifyError: Error #1014: Class Not Found mx.core::BitmapAsset.
Я не знаю, как использовать mxmlc генерировать SWF-файл. И без ошибок при отладке кода.
Другой способ - использовать JSFL для генерации SWF во флэш-памяти cs5, но я не знаю, как это использовать. Ах, очень больно.
3 ответа
Избежать
VerifyError: Ошибка № 1014
попробуйте скомпилировать со статической связью:
mxmlc -static-link-runtime-shared-libraries=true -debug=true Main.swf --Main.as
[РЕДАКТИРОВАТЬ]
mxmlc -static-link-runtime-shared-libraries=true -debug=true Main.as
Почему бы вам просто не загрузить изображения напрямую (из Loader) и обернуть их в Sprite? GIF точно не нужен график времени.:)
Я предполагаю, что вы хотите отобразить встроенное изображение (GIF).
Вот как это делается:
package
{
import flash.display.Bitmap;
import flash.display.Sprite;
public class Main extends Sprite
{
[Embed(source="vip.gif")]
private var embeddedVip : Class;
public function Main()
{
var vip : Bitmap = new embeddedVip();
addChild(vip);
}
}
}