2011-05-07 62 views
0

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

它应该显示不同的图像当鼠标指针位于按钮和离开按钮。

+0

这是您吗? http://stackoverflow.com/users/702166/naveen如果是这样,你为什么创建一个新的帐户。如果不;我不确定你在问什么。你想在一个按钮上显示多个图像吗?或者使用同一个班级,但更改显示的图像?你尝试了什么?为什么它不工作? – JeffryHouser 2011-05-07 20:19:32

+0

原来的问题有描述的目标,我不知道为什么@迈克尔Petrotta删除它。任务是将鼠标悬停在按钮上的图标更改。 – rekaszeru 2011-05-07 20:29:35

+1

@rekaszeru:我没有删除它;我们的两个编辑跨越了彼此。谢谢你让我知道;我已将其添加回。 – 2011-05-07 20:30:49

回答

0

我不认为有一个简单的方法来做到这一点。就知道了我选择下列之一: 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. 
    } 


} 
} 
+0

感谢您的回复。你可以提供我的code.Here我使用flex3.Here我想显示不同的图像,当鼠标指针在按钮和按钮外侧。 – user737830 2011-05-08 17:59:55

+0

我为你添加了代码,希望它有帮助 – mgPePe 2011-05-08 22:46:36

+0

你可以提供给我主要的mxml文件吗?当鼠标指针位于按钮上方并且不在按钮时,是否显示不同的图像? – user737830 2011-05-09 06:55:51

0

您为此任务选择的方法取决于您的确切情况。实现mouseover按钮的最简单方法不涉及任何代码;在Flash中,您只需在按钮元件中定义一个鼠标悬停图像。

1

<mx:Button label="test" downIcon="@Embed('assets/downIcon.png')" upIcon="@Embed('assets/upIcon.png')" />

看到livedocs