在事件中获取鼠标位置
问题描述:
我有两个事件;鼠标上下。当左键按下时,我会得到鼠标的初始位置。然后我打算在按钮释放后获取鼠标的最后位置。所以如果有横向移动我可以很容易识别。然而这是有问题的。由于我将侦听器添加到影片剪辑,因此它会在该影片剪辑的范围内获取鼠标x。我的意思是如果你释放按钮以外的电影剪辑它不起作用,因为事件附加到它。这里有什么转机吗?在事件中获取鼠标位置
m_c.addEventListener(MouseEvent.MOUSE_DOWN, StartPoint);
m_c.addEventListener(MouseEvent.MOUSE_UP, EndPoint);
function StartPoint(event:MouseEvent):void
{
initX = stage.mouseX;
}
function EndPoint(event:MouseEvent):void
{
lastX = stage.mouseX;
trace("drop ", lastX);
if(lastX < initX)
{
trace("goes left");
.
.
.
}
}
答
你需要的addListener到阶段,优选在MOUSE_DOWN
的听众function StartPoint(event: MouseEvent) : void {
stage.addEventListener(MouseEvent.MOUSE_UP, EndPoint);
// another code
}
我不知道你正在尝试做的,但我认为你应该把事件听众附加到你的舞台上而不是你的动画片段。 – akmozo 2015-04-01 09:20:29
我同意akmozo。使用'stage.addEventListener(MouseEvent.MOUSE_UP,EndPoint);' – subdan 2015-04-01 10:13:06
不够公平。但我需要这样的事件;用户点击影片剪辑,保持它,向右或向左移动并释放(让我们说,鼠标驱动刷卡)。 – coner 2015-04-01 10:17:06