检查对象是否在路径中

时间:2013-05-01 19:40:48

标签: java android

我正在做一个带有一些移动点的简单游戏。玩家围绕一些移动的点绘制一个封闭的形状,如果所有的点都是相同的类型,那么玩家就有一个分数。路径以点为单位存储在arraylist中。我的问题是,如何检查路径中是否有对象?

编辑:可以使用Region类和内部方法(int x,int y)??

来完成

2 个答案:

答案 0 :(得分:0)

封闭的形状可以是任何多边形还是仅限于矩形?如果它可以是任何多边形,那么这听起来像Convex Hull问题(但是我必须把我的算法书清理干净,以确保告诉你)。如果它是一个凸壳问题,那么你应该能够用Jarvis march算法解决这个问题。

维基百科也显示另一个选项是Ray Casting。可以找到此算法的Java实现here

答案 1 :(得分:0)

你将不得不画一个矩形..使用矩形类,然后使用点类来制作你的点。

我认为这个导入可以帮助你导入android.graphics.Rect;

这样的代码:

Rect myrectangleContainer=new Rect(100, 100, 200, 200);

Point dot= new Point(x,y);

然后收集布尔值

boolean isDotWithRect=myrectangleContainer.contains(dot.x,dot.y)