【问题标题】:How do disable a SimpleButton including changing it's appearance如何禁用简单按钮,包括更改其外观
【发布时间】:2010-12-18 09:15:35
【问题描述】:

这里是前提:

我有 10 个按钮,每个按钮都具有正常状态图像 (buttonX.png) 和鼠标悬停状态 (buttonXglow.png)。这些按钮是在 Flash 中手动创建的,但在我的 as3 主类中引用。 我需要为按钮添加不同的状态。

我想做以下事情:

  1. 将按钮标记为选中,例如一直用 (buttonXglow.png) 显示它。
  2. 能够禁用按钮(我正在使用 mouseEnabled = false;此时它会关闭其行为,但我也想将外观更改为 (buttonXout.png) 图像)。

  3. 在 AS3 中似乎相当复杂,我尝试使用以下内容嵌入 (buttonXglow.png) 图像,这些图像作为成员变量放置在我的主类中,但它似乎对我不起作用。

    [Embed(source='button1out.png')]
    public static var Button1Out:Class;
    

此外,如果我让它工作,我不确定如何用位图实际替换按钮外观。我在想我应该替换按钮的upState。

提前致谢!

【问题讨论】:

    标签: actionscript-3 button bitmap flash-cs3


    【解决方案1】:
    1. 在 AS3 中似乎相当复杂,我尝试嵌入 (buttonXglow.png) 图像与 之后我作为成员 我的主类中的变量,但它 似乎不适合我。

      [嵌入(source='button1out.png')] public static var Button1Out:Class;

    (这在 flash cs3 中不起作用)

    这里的答案似乎是上面的 [Embed(...)] 语法属于 FlashDeveloper, 对于我正在使用的 Flash CS3,该选项是手动将图像导入到库中 并进行设置,以便为每个图像创建一个类(有点耗时,但它有效)。

    编辑:请注意,我遇到了“2022 类 %1 必须从 DisplayObject 继承才能链接到符号。”的问题。这似乎是 Flash CS3 中的一个错误,由于某种原因 Linkage 停止工作。我通过从库中删除图像并再次导入来解决此问题。

    使用“位图属性”窗口中的链接选项为 ActionScript 设置导出。 设置你的类名,基类将设置为 flash.display.BitmapData。

    在您的代码中,您可以像往常一样使用该类,例如:

    var image:Bitmapdata=new Button1outClass(23, 23); // 请注意,我必须在构造函数中设置宽度和高度。

    我使用下面的代码来生成一个带有位图的 Sprite:

    button1Out=new Sprite();
    button1Out.addChild(new Bitmap(new Button1outClass(23, 23)));   
    

    引导我们进入

    1. 将按钮标记为选中,例如用 (buttonXglow.png)。
    2. 能够禁用按钮(我使用 mouseEnabled = false; 在 关闭其行为的时刻, 但我也想改变 外观 (buttonXout.png) 图片)。
    1. 指点很容易解决

      button.upState=button.overState;

    (问题是我需要保存 upState 以便恢复它)

    1. 很简单:

      button.upState=button1Out:

    (这里的恢复也是一个问题,但由于我只是要禁用按钮,永远不要再次启用它们,我很高兴去这里)

    【讨论】:

      【解决方案2】:

      好吧,我想说 ActionScript 是唯一的出路……如果幸运的话,你会找到一个组件,但我想,你必须自己做……

      无论如何...要使位图出现,您需要执行myButton.upState = new Button1Out(); 之类的操作...希望能回答您的问题... :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-14
        • 2010-10-28
        • 1970-01-01
        • 1970-01-01
        • 2011-01-07
        相关资源
        最近更新 更多