apache-flex - 如何在 Flex 中以编程方式拖放 Sprite?

标签 apache-flex actionscript-3 user-interface events

我需要一些 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/

相关文章:

python - 检查字典内容后在 GUI 界面显示输出

apache-flex - 柔性 : Accessing functions/components accross mxml pages

apache-flex - 在 Flex 中设置 RichText 元素符号的样式

apache-flex - 缺少 [mx.rpc]::IResponder

actionscript-3 - 奇怪的Flash编译器错误

java - 选择某些元素后使 Swing JMenuBar 树保持打开状态

actionscript-3 - Adobe Air - 检查互联网连接

css - Flex 在应用程序下方附加历史跟踪元素

flash - gotoAndPlay/gotoAndStop 不适用于数字帧标签

language-agnostic - 在长时间运行的过程中以文本方式报告剩余时间的正确方法?