如何为单个按钮显示不同的图像?
我不认为有一个简单的方法来做到这一点。就知道了我选择下列之一: 1.无论是写自己的对象,在其中设置事件处理程序来交换图像 或 2.用冒泡事件闪光灯,嵌入/加载它的柔性,在那里你赶上事件(从Flash和Flex的SWF之间的通信是一个相当痛苦,所以事件似乎做)
我可以提供的代码,如果你有兴趣在任何这两种方法的
UPDATE:
这里的代码,最简单的方法。只需添加两个图像:
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Test extends Sprite {
[Embed(source="image1.png")]
private var Image1:Class;
[Embed(source="image2.png")]
private var Image2:Class;
public function Test() {
var theHolderMC:MovieClip = new MovieClip();
addChild(theHolderMC);
theHolderMC.addChild(new Image2());
theHolderMC.addChild(new Image1());
theHolderMC.addEventListener(MouseEvent.CLICK, swap)
}
private function swap(e:MouseEvent):void{
var holder:MovieClip = MovieClip(e.target);
holder.swapChildren(holder.getChildAt(0), holder.getChildAt(1));
// or alternatively, you can make them .visible=false or any other way you want.
}
}
}
感谢您的回复。你可以提供我的code.Here我使用flex3.Here我想显示不同的图像,当鼠标指针在按钮和按钮外侧。 – user737830 2011-05-08 17:59:55
我为你添加了代码,希望它有帮助 – mgPePe 2011-05-08 22:46:36
你可以提供给我主要的mxml文件吗?当鼠标指针位于按钮上方并且不在按钮时,是否显示不同的图像? – user737830 2011-05-09 06:55:51
您为此任务选择的方法取决于您的确切情况。实现mouseover按钮的最简单方法不涉及任何代码;在Flash中,您只需在按钮元件中定义一个鼠标悬停图像。
<mx:Button label="test" downIcon="@Embed('assets/downIcon.png')" upIcon="@Embed('assets/upIcon.png')" />
看到livedocs
这是您吗? http://stackoverflow.com/users/702166/naveen如果是这样,你为什么创建一个新的帐户。如果不;我不确定你在问什么。你想在一个按钮上显示多个图像吗?或者使用同一个班级,但更改显示的图像?你尝试了什么?为什么它不工作? – JeffryHouser 2011-05-07 20:19:32
原来的问题有描述的目标,我不知道为什么@迈克尔Petrotta删除它。任务是将鼠标悬停在按钮上的图标更改。 – rekaszeru 2011-05-07 20:29:35
@rekaszeru:我没有删除它;我们的两个编辑跨越了彼此。谢谢你让我知道;我已将其添加回。 – 2011-05-07 20:30:49