【问题标题】:Custom button with image带有图像的自定义按钮
【发布时间】:2011-01-14 17:48:25
【问题描述】:

您好,我正在尝试在 actionscript 3 中创建一个按钮,该按钮将由自定义图像(我的 HDD 中的 car.jpg)制作。是否可以使用 SimpleButton 类来做到这一点(我的意思是有没有办法加载图像并将其附加到按钮上?)还是有其他方法? 如果我想在按钮中也有动画,假设我从按钮上滚动鼠标指针,我该怎么办?

ps:我只想使用 actionscript 3(我的意思是所有项目都是作为链接到 Document 类的 .as 文件完成的)。

【问题讨论】:

  • 例如,您可以将任何形状/位图转换为 MovieClip,您可以为单击添加事件侦听器,仅此而已……它的行为就像一个按钮。在这个阶段不要担心 SimpleButton。

标签: actionscript-3 flash-cs4


【解决方案1】:

虽然 George Profenza 已经在评论下指出了最佳解决方案,但如果您对如何实现 SimpleButton 类感到好奇,您可能想看看 as3 文档参考示例:

adobe livedocs - SimpleButton Example

我还写了一个简单的例子,它只在“复杂按钮”中制作了一个“简单按钮”,但使用了 SimpleButton 类,所以你可以看看如何扩展这个类,并赋予它的每个状态自己的图形。代码如下:

// this goes in your app
var button:MySimpleButton = new MySimpleButton();
addChild(button);

MySimpleButton.as

package  
{
    import flash.display.DisplayObject;
    import flash.display.SimpleButton;
    import flash.display.Sprite;

    public class MySimpleButton extends SimpleButton 
    {
        private var upAlpha : Number = 1;
        private var overAlpha : Number = 0.5;

        public function MySimpleButton(upState : DisplayObject = null, overState : DisplayObject = null, downState : DisplayObject = null, hitTestState : DisplayObject = null)
        {
            upState = new ButtonImgDisplayState( upAlpha);
            overState = new ButtonImgDisplayState( overAlpha);
            downState = new ButtonImgDisplayState( upAlpha);
            hitTestState = new ButtonImgDisplayState( upAlpha);

            super(upState, overState, downState, hitTestState);
        }
    }
}

ButtonImgDisplayState.as

package  
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.net.URLRequest;

    public class ButtonImgDisplayState extends Sprite 
    {

        public function ButtonImgDisplayState(_alpha:Number)
        {
            var my_loader : Loader = new Loader();
            my_loader.load(new URLRequest("car.jpg"));
            addChild(my_loader);

            this.alpha = _alpha;
        }
    }
}

SimpleButton 的作用是让您不必设置侦听器,但您有义务绕过分离的 DisplayObject 的状态,这使您在处理状态之间的转换时按钮变得更加严格。

希望你觉得这很有用。

【讨论】:

  • SimpleButton 文档链接已损坏。 ...已修复,但请检查这是否是您想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-15
  • 2013-03-03
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多