AS2中Event.MOUSE_LEAVE的等价物
问题描述:
AS2中AS3代码的等效代码是什么?AS2中Event.MOUSE_LEAVE的等价物
stage.addEventListener(Event.MOUSE_LEAVE, callbackFunc);
private function callbackFunc(e:Event):void {
// do something
}
答
我这个挣扎了一会儿,最终使用Flash HTML对象的JavaScript事件侦听器,然后绑到Flash的外部接口中,为鼠标悬停事件发生时设置标志。这似乎没有任何错误完美的工作。
答
起初我以为这只是一个rollout-
stage.onRollOut = function(){
//the action could occur here
}
这似乎并没有正常工作......不过话又说回来了;您可以将舞台定义为MovieClip()。 当涉及到这种事情时,AS2有点笨拙。我认为大部分解决方案都是黑客行为。我当然非常喜欢它是多么简单。 :)
答
您可以检查_xmouse属性看,如果鼠标不在剪辑
_root.onMouseMove = function()
{
if(
_xmouse <= 0 ||
_ymouse <= 0 ||
_xmouse >= Stage.width - 1 ||
_ymouse >= Stage.height - 1
)
outCallBack();
}
function outCallback()
{
bla;
}
+0
这要求用户单击窗口外部,否则,当鼠标离开舞台时,它不会将鼠标位置更新到播放器的边界之外,尽管这可能是与此问题最接近的。 – Aaron 2009-12-23 15:24:26
我环顾四周,似乎每个人都依靠估计光标的前一个动作,以确定它是否会通过使用输入框架事件离开舞台,但这不可靠并且性能会受到影响。像这样的事情让我很高兴我只用AS3进入Flash :) – Aaron 2009-12-17 17:17:52