【发布时间】:2011-08-04 15:50:09
【问题描述】:
我正在使用 ActionScript 3 开发一个 Flash 项目。
我们的界面通过添加和删除主舞台的直接子级在不同模式之间切换——我们称之为场景。
我遇到的问题是:其中一个场景有一个 SimpleButton (flash.display.SimpleButton) 具有不同的 up 和 over 状态。当我将鼠标悬停在按钮上时,它会按预期进入过度状态。但是如果应用程序自动切换到新场景(在这种情况下,视频结束并且应用程序继续运行)然后用户导航回来(导致重新添加原始场景),按钮将保持在结束状态,直到我将鼠标移回然后再次移出。我希望能够强制该按钮回到其向上状态。
我尝试设置 b.overState = b.upState,但随后的翻转没有外观变化。我也尝试将 ROLL_OUT 事件分派给按钮对象,但这也无济于事。
除了从头开始实现某些东西之外,还有什么想法可以揭示一种强制改变状态的方法吗?
【问题讨论】:
-
总猜测,所以不值得回答,但您是否尝试过将其已启用属性切换为 false,然后返回 true?
-
@shanethehat:我今天早上早些时候确实尝试过。没运气。谢谢。 :)
-
只是好奇,您是否将
hitTestState属性设置为与您的overState 相同的DisplayObject? -
@Peter:确实如此。卡住状态问题似乎很简单,因为当鼠标仍在按钮上方时,按钮已从显示列表中删除,因此它从未注册过滚动。
-
您是否尝试在按钮添加回显示列表后调度 ROLL_OUT?
标签: flash actionscript-3