如何避免在源代码(.as或.mxml)中嵌入元数据? 我找到了两种方法: 1.将所有内容嵌入到CSS中。但从那里提取起来有点困难:
var soundCSSClassDec:CSSStyleDeclaration = StyleManager.getStyleDeclaration("MySound");
var MySoundClass:Class = (soundCSSClassDec.getStyle("url")) as Class;
var myEmbeddedSound:Sound = new MySoundClass() as Sound;
myEmbeddedSound.play()
还有其他想法吗?
谢谢,Aleksey
答案 0 :(得分:1)
使用ResourceManager
并没有错:在您的情况下(非本地化应用),您只支持一种语言(N种语言的本地化特例:)。
另一种方法是从某个服务器通过网络加载这些资源。当然,根据您的应用程序捆绑/使用的方式,这种方法可能效率低下。
答案 1 :(得分:0)
另一种选择是定义一个“AssetLibrary”类,其中包含许多类型为“Class”的公共静态const;然后通过MXML中的绑定或ActionScript中的简单赋值来引用它们。
public class AssetLibrary {
[Embed(source='/assets/image_link.png')]
public static const IMAGE_LINK : Class;
}
使用ResourceManager也是一种完全有效的方法。实际上,从应用程序中外化它是一种很好的做法,因为它可以使以后更容易本地化。