2010-03-23 61 views
0

我需要实现拖放功能,我可以在其中定义和约束可拖动对象的路径。 像在http://www.kirupa.com/forum/showthread.php?t=330302,只有我有路径设计,并没有通过数学函数计算。所以,事实上,随着鼠标移动,我需要告诉对象遵循自定义路径/动画片段。在特定路径(ex bezier曲线)上拖放as3

+0

好吧!凉!继续! – raj 2010-03-23 07:54:48

+1

您的路径如何表示?它只是一个位图,还是一个手绘(即bezier)曲线? – 2010-03-23 07:58:30

+0

你可能想“问一个问题”...检查橙色标签,它说问题! – 2010-03-23 12:29:03

回答

1

就像你在Kirupa的例子中一样,在MouseMove处理程序中,你将立即采用被拖动项目的x和y值并重新计算它们。例如,要将项目限制在一条垂直线上,可以将x设回到开始的项目x,同时释放y以跟随鼠标。

在你的情况,你需要一个x和y重新计算,它可以1)确定移动是否在你的路径上,2)如果没有,将它移动到该路径上的最近点“最近”意味着你)。

也许碰撞检测?如果没有碰撞(物品离开路径),然后沿某个方向(沿着水平方向或垂直方向)移动物品,直到遇到碰撞。

好吗?

如果StackOverflow没有问题,也许你可以报告回来,当你有这个解决?

约翰希克斯