我使用GetBounds方法作爲遊戲的碰撞檢測的一部分,它正在做一些相當奇怪的事情。 GetBounds爲我的多邊形的原始位置返回一個邊界框,但不是我移動到的當前位置。這是非常令人困惑的,因爲當我畫出我的多邊形時,它出現在正確的位置。我覺得這可能是我在移動我的多邊形時犯的一個錯誤,所以我包含了我如何移動它的詳細描述。Java GetBound給出原始多邊形位置不是當前
我改變多邊形位置的方法是修改從類多邊形繼承的數組「xpoints」和「ypoints」。通過將多邊形的所需位置添加到包含位置0,0處的多邊形的不同陣列並替換該陣列來修改xpoints和ypoints數組。
下面是代碼:
Public Class Sword extends Polygon{
int[] SwordXPoints, SwordYPoints
public void main(int DesiredLocation){
for(int i = 0; i < super.ypoints.length; i++){
super.ypoints[i] = SwordXPoints + DesiredLocation;
}
for(int i = 0; i < super.xpoints.length; i++){
super.xpoints[i] = SwordYPoints + DesiredLocation;
}
}
}
我希望這個解釋更容易理解和更簡單。
謝謝,山姆。
這甚至不是完整的,您使用的是自己的劍類等於是HEC怎麼辦,我們沒什麼兩樣東西,你在那裏做? – gpasch
對不起,這似乎對我有意義。我會重寫它,並儘量避免使用從我的遊戲中抽取的任何特定代碼,並將其重寫爲易於閱讀。 –