2012-10-20 93 views
1

我正在研究Java塔防遊戲,但我遇到了一個問題:我不能讓塔在一個圓圈內找到敵人。我的代碼:TD遊戲中的敵人偵測

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; 
} 

回答

2

兩個java.awt.Rectanglejava.awt.geom.Ellipse2D實現Shape接口。後者的方法可能會有用。

+0

請你再解釋一下嗎? –

+0

有一個使用'Rectangle' [這裏](http://stackoverflow.com/a/6810665/230513)的例子;有一個使用'Ellipse2D' [這裏](https://sites.google.com/site/drjohnbmatthews/scaledview)的例子。 – trashgod

+0

我現在正在處理形狀問題,我怎樣才能像邊界一樣繪製輪廓? –