在特定路径上拖放as3(ex bezier曲线)

时间:2010-03-23 07:50:36

标签: flash actionscript-3 drag-and-drop

我需要实现拖放功能,我可以在其中定义和约束可拖动对象的路径。 就像在http://www.kirupa.com/forum/showthread.php?t=330302中一样,只有我设计的路径而不是数学函数计算的路径。所以,实际上,当鼠标移动时,我需要告诉对象遵循自定义路径/ movieclip。

1 个答案:

答案 0 :(得分:1)

在Kirupa示例中,在MouseMove处理程序中,您将获取拖动项目的时刻x和y并重新计算它们。例如,要将项目限制为垂直线,您可以将x设置回项目开头的x,同时释放y以跟随鼠标。

在你的情况下,你需要进行x-y重新计算,1)确定移动是否在你的路径上,2)如果没有,将它移动到该路径上最近的点(无论什么“最近的“意味着你”。

也许碰撞检测?如果没有碰撞(物品离开路径),则沿某个方向(沿水平方向或垂直方向......)移动项目,直到发生碰撞。

好?

如果StackOverflow没有任何问题,也许您可​​以在计算完成后向后报告?

John Hicks