Actionscript 3 动态选择静态嵌入图像?
以下是我目前的情况: 我在一个类中嵌入了图像Actionscript 3 动态选择静态嵌入图像?,actionscript-3,apache-flex,air,adobe,flash-builder,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")] pub
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>
正如你所知道的,上面的代码似乎不起作用。我只想动态地选择嵌入的类。任何帮助或提示都将不胜感激。删除类名后的圆点。以下方面应起作用:
target.source = Embedded[baseImageName + "Idle"];
令人惊叹的!正是我需要的!如果不是要求太高,你能在文档页面上说明这一点吗?关于这类事情,我不知道该搜索什么关键字。:)但是你是怎么知道怎么做的呢?我想我很久以前在stackoverflow上读到过。例如,或者哇,所以没有关于它的真实文档。我想知道那些家伙是怎么想出来的。不管怎样,谢谢你,伙计!我看了看问题,意识到我起草的不是我的帖子。正是我要找的。我搞砸了很多其他的东西,比如DescripteType。但这是一个非常简单的方法。我希望这不是黑客攻击。adobe没有记录这一点。