0

位图资源,通常是使位图生成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 文件。调试代码时没有错误。

另一种方法是在flash cs5中使用JSFL生成SWF,但我不知道如何使用。啊,好痛。

4

3 回答 3

0

我猜你想显示一个嵌入的图像(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);
        }
    }
}
于 2011-06-17T07:24:07.210 回答
0

避免

验证错误:错误 #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
于 2011-06-17T20:55:35.823 回答
0

为什么不直接(从 Loader)加载图像并将它们包装在 Sprite 中?GIF 并不完全需要时间线。:)

于 2011-06-17T21:28:09.633 回答