如何为单个按钮显示不同的图像?
当鼠标指针悬停在按钮上并且超出按钮时,它应显示不同的图像。
答案 0 :(得分:1)
<mx:Button label="test" downIcon="@Embed('assets/downIcon.png')" upIcon="@Embed('assets/upIcon.png')" />
请参阅livedocs
答案 1 :(得分:0)
我认为没有一种简单的方法可以做到这一点。直到知道我选择了以下之一: 1.编写自己的对象,在其中设置事件处理程序以交换图像 要么 2.使用冒泡事件制作闪光灯,然后将其嵌入/加载到柔性中,在那里捕捉事件(从闪光灯和柔性版的swf之间进行通信非常痛苦,所以事件似乎就这样做了)
如果您对这两种方法中的任何一种感兴趣,我可以提供代码
更新:
这是最简单方法的代码。只需添加两张图片:
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.
}
}
}
答案 2 :(得分:0)
您为此任务选择的方法取决于您的具体情况。实现鼠标悬停按钮的最简单方法不涉及任何代码;在Flash中,您只需在按钮符号中定义鼠标悬停图像。