我需要一些 ActionScript 代码来模拟 Sprite 的拖放,我想知道是否可以这样做?如果是怎么办?
例如,要模拟对 Sprite 的点击,我可以使用以下代码行来实现。
sprite.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
最佳答案
要么做这样的事情:
mySprite.addEventListener("mouseDown", mouseDownHandler);
stage.addEventListener("mouseUp", mouseUpHandler);
protected function mouseDownHandler (e:MouseEvent):void{
e.target.startDrag();
}
protected function mouseDownHandler (e:MouseEvent):void{
e.target.stopDrag();
}
您可以向 startDrag 方法传递 2 个参数,第一个是用于锁定中心的 bool 值,第二个是用于边界点的矩形对象。
为了更受控制的行为,您可以这样做:
mySprite.addEventListener("mouseDown",
mouseDownHandler);
stage.addEventListener("mouseUp", mouseUpHandler);
protected function mouseDownHandler (e:MouseEvent):void{
stage.addEventListener("mouseMove",
mouseMoveHandler);
}
protected function mouseDownHandler (e:MouseEvent):void{
stage.removeEventListener("mouseMove",
mouseMoveHandler);
}
protected function mouseMovehandler(e:MouseEvent):void{
mySprite.x=mouseX;
mySprite.y=mouseY;
}
(尚未测试代码,因此可能存在一些小的语法错误或其他问题)
关于apache-flex - 如何在 Flex 中以编程方式拖放 Sprite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1169256/