处理中的圆半径内

时间:2017-03-19 00:27:01

标签: processing

有没有办法检测坐标在处理中的圆弧半径

例如,在我的程序中,如果玩家2的精灵重叠并且"捕获"玩家1的精灵,然后我希望游戏结束(所以如果玩家1的精灵在玩家2的命中箱圈内)。 *注意:我的播放器1精灵相当小,并且定义其位置的坐标应足以进行重叠检测

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用dist()功能。

获取圆点与圆心之间的距离。如果该距离小于圆的半径,则该点位于圆内。

我建议抽出一些例子,看看为什么这是有道理的。

the reference中提供了更多信息。

答案 1 :(得分:0)

虽然我不熟悉处理,但这是一个数学问题,可以用毕达哥拉斯解决:

float cx; //center x of circle
float cy; //center y of circle
float cr; //radius of circle

float x; //tested x coordinate
float y; //tested y coordinate

(sqrt(pow(x-cx, 2) + pow(y-cy, 2)) < cr) // must evaluate to true for a hit-test