actionscript-3 - 动态选择静态嵌入图像?

标签 actionscript-3 apache-flex air adobe flash-builder

这是我目前的情况:

我在类中嵌入了图像。

package system
{
    public class Embedded
    {
        [Embed(source="assets/srcorangeboxidle.png")]
        public static const btnSrcOrangeBoxIdle:Class;

        [Embed(source="assets/srcorangeboxpressed.png")]
        public static const btnSrcOrangeBoxPressed:Class;

        [Embed(source="assets/hl1idle.png")]
        public static const btnHL1Idle:Class;

        [Embed(source="assets/hl1pressed.png")]
        public static const btnHL1Pressed:Class;

        public function Embedded(){}
    }
}

现在,在我的主 MXML 文件中,我有以下内容。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark">

    <fx:Script>
        <![CDATA[
            import system.Embedded;

            protected function toggleButtonState(target:Object,pressed:Boolean=false):void
            {
                var baseImageName:String = target.id.toString();
                if (!pressed) {
                    target.source = Embedded.[baseImageName+"Idle"];
                } else {
                    target.source = Embedded.[baseImageName+"Pressed"];
                }
            }
        ]]>
    </fx:Script>
    <s:Image id="btnSrcOrangeBox" x="107" y="245" source="{Embedded.btnSrcOrangeBoxIdle}" mouseDown="toggleButtonState(btnSrcOrangeBox,true)" mouseUp="toggleButtonState(btnSrcOrangeBox,false)"/>
    <s:Image id="btnHL1" x="107" y="355" source="{Embedded.btnHL1Idle}" mouseDown="toggleButtonState(btnHL1,true)" mouseUp="toggleButtonState(btnHL1,false)"/>
</s:Application>

正如你所知,上面的代码似乎并不能解决问题。我只想动态选择要选择的 Embedded.* 类。任何帮助或提示将不胜感激。

最佳答案

删除类名后面的点。以下内容应该有效:

target.source = Embedded[baseImageName + "Idle"];

关于actionscript-3 - 动态选择静态嵌入图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9447055/

相关文章:

PHP/Actionscript 3 带有进度指示器的多个文件上传

apache-flex - 如何在 ActionScript 中使用数组调用可变参数函数?

apache-flex - FlexBuilder/MXMLC : Profiling the build process?

android - 保存项目的应用程序开发问题

actionscript-3 - node.js 和 ActionScript 通用的序列化格式?

javascript - 将第 3 方 Flash 组件集成到 Adob​​e Air 应用程序中?

web-services - 如何使用 FLEX 解析 SOAP 响应

jquery - 单击 jquery + air 打开文件系统窗口

ios - 如何移动低值图像?

actionscript-3 - 通过 Actionscript 3.0 使用 HTTP POST 上传 zip 文件