我正在开发一个Java塔防游戏,但我遇到了一个问题:我不能让塔在一个圆圈内找到敌人。我的代码:
if(twrsq.intersects(GameScreen.enemies[i])) {
shooting = true;
shotEnemy = i;
}
this.twrsq = new Rectangle(
x - (twrsqsize/2), y - (twrsqsize/2),
width + twrsqsize, height + twrsqsize);
twrsq
保存当前矩形;这需要是一个圆圈。 GameScreen.enemies[i]
也有一个矩形。我正试图从twrsq
制作一个圆圈,让它们与敌人交叉。
我该如何做到这一点?
编辑:我有点工作;我现在得到了screenshot:
if(cir.intersects(GameScreen.enemies[i])) {
shooting = true; shotEnemy = i;
}
答案 0 :(得分:2)
java.awt.Rectangle
和java.awt.geom.Ellipse2D
都实现了Shape
接口。后者的contains()
方法可能很有用。