开发者

How to embed a lot of images using Actionscript 3

开发者 https://www.devze.com 2023-01-20 01:15 出处:网络
i would like to know what is the more practical way to embed many images using actionscript. Firstly, i don\'t want to download an image every time from the server, and then, i would like to change th

i would like to know what is the more practical way to embed many images using actionscript. Firstly, i don't want to download an image every time from the server, and then, i would like to change the number of images and/or their names. What do yo开发者_运维技巧u propose for these requirements?

ps: I have been alerted for the Embed tag but it seems a little inconvenient in its use as you have to declare a new class for each asset and instantiate the class separately.


Met the problem above, the solution I use is a little straightforward, but simple. You write a batch file (.cmd) that goes through a directory, generating as3 code, then it runs the compiler to create .swf.

it looks something like this:

set target=a.as
@echo package { >%target%
@echo   import flash.display.Sprite; >>%target%
@echo   import flash.system.Security; >>%target%
@echo   public class %classname% extends Sprite{ >>%target%
@echo       Security.allowDomain('*'); >>%target%
for %%a in (*.png) do @echo         [Embed("%%~na.png")] public var %1_%%~na: Class; >>%target%
@echo       } >>%target%
@echo } >>%target%

it generates something like:

package { 
import flash.display.Sprite; 
import flash.system.Security; 
public class  extends Sprite{ 
Security.allowDomain('*'); 
        [Embed("a.png")] public var _beauty_nails: Class; 
        [Embed("b.png")] public var _club_dance: Class; 
        [Embed("c.png")] public var _club_date: Class; 
    } 
} 


If you want to embed images, then you need to use the Embed tag, and the image files will be added to the builded swf. I do not understand how you want to have images embeded but load them from server or change their names? Once they are embeded you cannot rename or unload them. They will act like a hardcoded static variable.

If you want to dynamically load them from server then you just pass the url of the image to a mx:IMAGE source and there you have it...

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号