Flash 将as3拖放到特定路径上(除贝塞尔曲线)

Flash 将as3拖放到特定路径上(除贝塞尔曲线),flash,actionscript-3,drag-and-drop,Flash,Actionscript 3,Drag And Drop,我需要实现一个拖放功能,在这里我可以定义和约束可拖动对象的路径。 就像在中一样,只是我设计了路径,而不是通过数学函数计算。因此,事实上,当鼠标移动时,我需要告诉对象遵循自定义路径/movieclip。就像在Kirupa示例中一样,在MouseMove处理程序中,您将获取被拖动项目的x和y并重新计算它们。例如,要将项目限制在垂直线上,可以将x设置回项目开始的x,同时释放y以跟随鼠标 在您的情况下,您需要进行x和y重新计算,以便1)确定移动是否在您的路径上,2)如果不在,则将其移动到该路径上的最近点

我需要实现一个拖放功能,在这里我可以定义和约束可拖动对象的路径。
就像在中一样,只是我设计了路径,而不是通过数学函数计算。因此,事实上,当鼠标移动时,我需要告诉对象遵循自定义路径/movieclip。

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

在您的情况下,您需要进行x和y重新计算,以便1)确定移动是否在您的路径上,2)如果不在,则将其移动到该路径上的最近点(无论“最近”对您意味着什么)

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

好吗

如果StackOverflow没有问题,也许你可以在解决这个问题后再报告


约翰·希克斯(John Hicks)

你的人生道路是如何展现的?它只是一个位图,还是一个手绘(即贝塞尔)曲线?你可能想“问一个问题”。。。检查橙色标签,上面有问题!对不起,问题是:我如何实现这一点?现在路径是位图,但最好的方法是什么?