我只是想知道是否可以在动作脚本中检查鼠标事件是否抓取了对象。
例如:youtube视频播放器也内置在闪存中。当我们抓住轨道时,它只停留在鼠标指针上,当我们释放它时。它停在我们离开的地方。
答案 0 :(得分:0)
// define lock on y-axis
var LOCKY:Number = target.y;
// MouseEvent.MOUSE_MOVE
stage.addEventListener(MouseEvent.MOUSE_MOVE, _mouseMove);
function _mouseMove(e:MouseEvent):void
{
if(target.y != LOCKY) target.y = LOCKY;
}
// dragging
target.addEventListener(MouseEvent.MOUSE_DOWN, _mouseDown);
function _mouseDown(e:MouseEvent):void
{
target.startDrag();
target.addEventListener(MouseEvent.MOUSE_UP, _mouseUp);
}
// dropping
function _mouseUp(e:MouseEvent):void
{
target.stopDrag();
target.removeEventListener(MouseEvent.MOUSE_UP, _mouseUp);
}
直接从这里采取: AS3 How to startdrag only on x-axis?
答案 1 :(得分:0)
在调用startDrag()之后,无法确定是否正在拖动对象。您必须设置一个布尔值,用于跟踪何时开始拖动。
我个人不喜欢startDrag / stopDrag,所以我不使用它。但是如果你刚开始,那么startDrag / stopDrag可以正常工作。我猜想youtube的播放器不会使用该功能。我将在以后访问时发布我的方法。