0

我有一个处于“up”状态的按钮,当鼠标悬停在按钮上时,它应该在“over”状态下变得更大。因此,处于“over”状态的按钮比处于“up”状态的按钮大 3 倍。

但是,问题是在我的鼠标触摸向上状态按钮之前触发了过度状态按钮。我只希望在鼠标处于向上状态按钮后按钮变大。

我发现过度状态按钮很早就触发了,因为我的鼠标触摸了它应该在的区域,即使它不可见。

因此,如果我在向上状态的按钮周围移动鼠标而不触摸它,它仍然会变大,因为我的鼠标触摸了过度状态按钮的区域。

我将如何解决这个问题,以便在我的鼠标实际位于向上状态按钮上之前不会触发过度状态按钮?

4

2 回答 2

0

如果你做了一个按钮符号

如果您编辑按钮元件,您将在时间轴中看到四个命名帧:

  1. 向上

    未发生鼠标操作时您的按钮所处的状态。
    (您的“小”按钮状态。)

  2. 超过

    您的按钮在鼠标悬停时所处的状态。
    (您的“大”按钮状态。)

  3. 您的按钮在鼠标单击时所处的状态。

  4. 将接受这些鼠标事件(单击、悬停)的区域。
    该区域代表人们可以移动鼠标来激活您的按钮的位置。您可以将其设为任何形状(或形状组合),但通常与按钮的可见“向上”状态相同。

如果您将处于“向上”状态的关键帧复制到标记为“命中”的帧,则您的按钮只会在您将鼠标悬停在该区域上时做出反应。


如果您使用 AS3制作了一个按钮:

hitTestState需要与您的upState.
一种简单的方法是:

buttonName.hitTestState = buttonName.upState;
于 2013-08-02T20:56:29.820 回答
-1

你需要调整命中区域

于 2013-08-02T20:38:37.400 回答