0

我正在制作游戏,我需要检查对象的坐标是否符合要求(目标坐标)并具有允许的 +- 差异。

例子:

int x; //current object X coordinate
int y; //current object Y coordinate

int destinationX = 50; //example X destination  value
int destinationY = 0;  //example Y destination value
int permittedDiference = 5;

boolean xCorrect = false;
boolean yCorrect = false;

我正在尝试创建算法,检查

 if (x == destinationX + permittedDifference || x == destinationX - permittedDifference)
 {
     xCorrect = true;
 }

 if (y == destinationY + permittedDifference || y == destinationY - permittedDifference)
 {
     yCorrect = true;
 }

这听起来像是最简单的方法,但也许有更好的方法?将不胜感激一些提示。

4

1 回答 1

5

你可以Math.abs()在这里使用方法。x获取和之间的绝对差destinationX,并检查它是否小于或等于permittedDifference

xCorrect = Math.abs(x - destinationX) <= permittedDifference;
yCorrect = Math.abs(y - destinationY) <= permittedDifference;
于 2013-02-18T21:01:13.200 回答