0
我想寫一些簡單的蛇遊戲。 爲此,我得到了一個帶有矩形的ArrayList。 改變方向已經起作用。蛇(遊戲)般的移動矩形
但是現在,當我添加更多的矩形(蛇體部分)時,我如何實現它們以跟隨「頭部」?
我不能改變整個ArrayList的方向,這將最終在一些長塊向上或向下移動。它的身體應該遵循頭部的運動,在頭部之後。
我該如何做到這一點?
這是我不工作的蛇完全無用的更新方法...
ArrayList<Rectangle> rects;
public void update() {
if(isMoving && System.currentTimeMillis() - moveTimer > moveSpeed) {
rects.get(0).setLocation((int)(rects.get(0).getX()+dx*Core.GRID_SIZE), (int)(rects.get(0).getY()+dy*Core.GRID_SIZE));
for(int i = 0; i < rects.size()-1; i++) {
if(rects.get(i).getX() < rects.get(i+1).getX()) {
rects.get(i).setLocation((int)(rects.get(0).getX()+Core.GRID_SIZE), (int)(rects.get(i).getY()));
}
}
moveTimer = System.currentTimeMillis();
}
你能發表你已經寫的代碼的相關部分嗎? – mdewitt
在將舊的位置賦予下一個矩形後,頭部改變其位置。其餘的就是這樣。如果你想要可並行化的代碼,你應該爲每個矩形添加一個位置歷史記錄。 –
我們可以看到你已經有什麼?目前還不清楚你到底在幹什麼 –