0

我正在做一个带有一些移动点的简单游戏。玩家在一些移动的点周围画出一个封闭的形状,如果所有的点都属于同一类型,那么玩家就会得到一个分数。路径以点为单位并存储到数组列表中。我的问题是,如何检查路径中是否有对象?

编辑:可以用 Region 类和里面的方法(int x,int y)来完成吗?

4

2 回答 2

0

封闭的形状可以是任何多边形还是仅限于矩形?如果它可以是任何多边形,那么这听起来像是一个凸壳问题(但我必须把我的算法书掸掉才能确定地告诉你)。如果它是一个凸包问题,那么您应该能够使用 Jarvis March 算法解决这个问题。

维基百科还显示另一种选择是Ray Casting。可以在此处找到此算法的 Java 实现

于 2013-05-01T19:57:28.320 回答
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)
于 2013-05-01T20:00:08.730 回答