【问题标题】:Embedding hi or low res assets? AS3嵌入高分辨率或低分辨率资产? AS3
【发布时间】:2012-03-10 20:38:28
【问题描述】:

我将资产嵌入到我的 as3 中,例如:

[Embed(source = "assets/images/"+assetSizeString+"/ui/left_thumb.png")]
private static const leftThumb:Class;

我希望assetSizeString 表示导入的是高分辨率还是低分辨率资产,但我收到错误“无效元数据”

有人对如何使用嵌入选择高或低资产有任何建议吗?或者修复这个错误?

谢谢!

【问题讨论】:

    标签: actionscript-3


    【解决方案1】:

    你必须使用条件编译。

    [Embed(source=config::LEFT_THUMB)]
    private static const leftThumb:Class;
    

    并作为mxmlc的参数:

    mxmlc MyApplication.as \
      -define=config::LEFT_THUMB,"'assets/images/100px/ui/left_thumb.png'"
    

    注意:值先用单引号括起来,再用双引号括起来。

    现在我想您的应用程序中有很多这样的资产。根据您的编译方式(mxmlc 命令行或 ant 脚本),我将使用 shell 变量来保存值“100px”,然后将其插入到每个资产文件名中,或者使用其中的变量ant 脚本。

    如果您使用的是 Flash Builder,那么我担心您可能不走运,但我不是该工具的专家,所以也许有办法。

    【讨论】: