1
我有一個擊中盒在我遊戲中的各種實體由Vector數組的定義,爲什麼我的旋轉矩陣不起作用?
我的實體之一緩慢地旋轉,以跟隨玩家的動作很自然,我需要命中框也轉動。
當我畫每個頂點到屏幕時,我的代碼會產生扭曲和扭曲的線條。我的實體大小爲64 x 64,所以+ 32表示對象的中心。
public void rotateVertices(Vector2[] vertices, double angle) {
double cos = Math.cos(angle);
double sin = Math.sin(angle);
for(int i = 0; i < vertices.length; i++){
Vector2 v = vertices[i];
vertices[i].x = ((v.x - (x + 32)) * cos - (v.y - (y + 32)) * sin) + (x + 32);
vertices[i].y = ((v.x - (x + 32)) * sin + (v.y - (y + 32)) * cos) + (y + 32);
}
}
我的構造函數:
public EnemyTriBall(Handler handler, float x, float y) {
super(handler, x, y, 3, 6);
vertices[0] = new Vector2(x + 25, y + 13);
vertices[1] = new Vector2(x + 64, y + 33);
vertices[2] = new Vector2(x + 25, y + 53);
}
我會在下班後試試這個,但是我想這就是一直堅持回來的,謝謝 – Alex
我的頂點不再偏斜,但是當我每一幀都通過旋轉的頂點時,它們會旋轉太多,你會知道要解決這個問題? – Alex
@Alex您可能會遇到一些公式問題,如果不進行調試就診斷它非常困難。我會爲已知的輸入和輸出編寫幾個單元測試,並檢查出現了什麼問題。這應該不難。 – lexicore