如何为单个按钮显示不同的图像?

时间:2011-05-07 20:14:08

标签: flash flex3

如何为单个按钮显示不同的图像?

当鼠标指针悬停在按钮上并且超出按钮时,它应显示不同的图像。

3 个答案:

答案 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中,您只需在按钮符号中定义鼠标悬停图像。