0

测试链接:http ://bit.ly/Runmah

从左侧选择一项进行测试。

当他在直线上找到两个相交点时,它正在旋转。

我想在多边形内移动红色矩形。它不应该超出多边形。

我的代码是: http: //pastebin.com/pRMpk81f

编辑 1: http: //pastebin.com/C3j4WSC1

4

1 回答 1

2

如果你知道如何找到线上点的交点,那么你应该能够找到墙壁和家具之间的距离(矩形的线和边缘),你可以检查这个值,例如停止拖动和捕捉,

编辑1: 选择拖动物品时(鼠标关闭)比不断检查距离(例如在鼠标移动),然后您可以决定距离在某个阈值之内,您将停止移动(基本基础,您将设置计算的位置 - 转而应用鼠标位置),否则您将跟随鼠标。

EDIT2: 您也可以通过计算交点来测试该点是否在形状内 - 偶数点在外面,奇数 - 点在里面

最好的祝福

于 2012-11-01T08:38:21.920 回答