在某些情况下,我需要限制鼠标移动。到目前为止,我已经尝试过使用这种方法......
我只是给它一个范围 ti 需要保持在...
if (100 < mouseX < 200 && 100 < mouseY < 200) {
...
}
else
{
trace ("not between the boundary");
}
但它似乎根本不起作用。我不能让鼠标离开水平 100 到 200 和垂直 100 到 200 之间的区域。
有人可以帮我解决这个问题吗?
在某些情况下,我需要限制鼠标移动。到目前为止,我已经尝试过使用这种方法......
我只是给它一个范围 ti 需要保持在...
if (100 < mouseX < 200 && 100 < mouseY < 200) {
...
}
else
{
trace ("not between the boundary");
}
但它似乎根本不起作用。我不能让鼠标离开水平 100 到 200 和垂直 100 到 200 之间的区域。
有人可以帮我解决这个问题吗?
在 ActionScript 中,您不能以这种方式链接多个比较器。您必须将比较分为两个步骤。
代替:
100 < mouseX < 200 && 100 < mouseY < 200
你必须使用:
100 < mouseX && mouseX < 200 && 100 < mouseY && mouseY < 200
已经有一个关于这个的问题,这个,它说你根本不能限制鼠标移动。在您的情况下,您可以创建一个自定义对象,该对象将在隐藏光标本身的同时跟随鼠标光标,从而“伪造”鼠标光标,并且对于该对象,您可以通过约束其 X&Y 坐标来限制其移动。是的,ActionScript 中没有比较运算符的链接。
var mcCursor:MovieClip; // assign this to a proper asset
...
function onMouseMove(e:MouseEvent):void {
mcCursor.x=e.stageX; // assuming mcCursor to be placed directly on stage above all
mcCursor.y=e.stageY;
if (mcCursor.x<100) mcCursor.x=100;
if (mcCursor.x>200) mcCursor.x=200;
if (mcCursor.y<100) mcCursor.y=100;
if (mcCursor.y>200) mcCursor.y=200;
}
然后,当您解析鼠标点击时,检查是否mcCursor
在正确的位置,如果不是,请不要对点击做出反应(return
来自侦听器)。