2011-06-17 69 views
0

位图资源,它通常使位图生成SWF文件,并使用Loader类加载到应用程序中。 我从谷歌搜索一些答案,找到两种方式来生成一个SWF文件。使用mxmlc工具。另一个使用jsfl。 我知道我们可以将位图或swf文件嵌入到As代码中。并使用mxmlc的命令是这样的: AS文件是Vip.as,并且代码:如何使位图生成SWF文件

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在flash cs5中生成SWF,但我不知道如何使用它。啊,很痛苦。

回答

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); 
     } 
    } 
} 
+0

不,我想知道如何将位图资源打包到SWF文件中 – Lee 2011-06-17 08:57:38

+0

您想要将图像嵌入到一个SWF中,然后加载该文件并能够在运行时实例化图像? – Mattias 2011-06-17 14:24:43

+0

是的,但我不知道如何生成。 – Lee 2011-06-18 04:35:04

0

为了避免

VerifyError: Error #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 
+0

谢谢,但失败。 – Lee 2011-06-18 04:38:50

+0

错误是.Unknown配置变量[AS文件] – Lee 2011-06-18 04:52:44

+0

尝试最后一个(没有“Main.swf - ”)。希望它能为你工作。 – surlac 2011-06-18 15:08:58

0

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

+0

我认为,例如我有一个Flash游戏,位图资源打包在一些SWF文件中。无需逐个加载。这是我的想法。如果你有好主意,你能告诉我吗?很高兴接受你的想法。 – Lee 2011-06-18 04:47:34

+0

啊。只要从符号中引用BitmapData并将其包装在新的位图和精灵中(如果不是blitting的话)。 – pestilence669 2011-07-25 07:35:10