我正在用 Java 制作一个非常简单的节奏游戏,我希望玩家用“Beat”来计时按钮按下,“Beat”沿着屏幕向静止的玩家移动。
对象是使用处理程序类实例化的,因此对象没有我可以调用方法的名称,这对玩家来说并不是问题,因为我只打算有一个玩家,但我需要比较几个节拍的位置在屏幕上向下移动到玩家以奖励积分,但我不确定如何为创建的节拍分配名称或直接为它们调用方法的任何其他方式。
handler.addObject(new Beat(1000,300,ID.Beat));
handler.addObject(new Player(100,300,ID.Player));
处理程序类:
import java.awt.*;
import java.util.LinkedList;
//Handler class is responsible for updating and rendering all game objects
public class Handler {
LinkedList<GameObject> object = new LinkedList<GameObject>();
public void tick(){
//loops through every object
for(int i = 0; i < object.size(); i++){
// sets temp object to linked list function which gets the ID of the current object
GameObject tempObject = object.get(i);
tempObject.tick();
}
}
public void render(Graphics g){
//renders every object
for(int i = 0; i < object.size(); i++){
GameObject tempObject = object.get(i);
//renders the temp object
tempObject.render(g);
}
}
public void addObject(GameObject object){
//linked list built in method to add an object
this.object.add(object);
}
public void removeObject(GameObject object){
//linked list built in method
this.object.remove(object);
}
}
所指的游戏对象类只是一个具有几个位置变量、速度等的类,另一个刻度和渲染方法,除了它只是 getter 和 setter。