我在这项任务上获得了一个快速启动。任何帮助表示赞赏。我有一个名为MapView的类,它实际上是在面板上绘制游戏的窗口。我目前已经在update
方法下迭代了其他类/对象。什么是再次迭代对象来绘制游戏对象的最佳方法?我不知道该怎么做。我也在每个对象类下面绘制方法,但是试图弄清楚如何绘制它们并通过迭代器绘制它。
public class MapView extends JPanel implements IObserver, ActionListener{
JPanel myPanel;
private Timer timer = new Timer(5, this);
int x = 0;
int moveX = 2;
public MapView(){
super.setBorder(BorderFactory.createTitledBorder("Map:"));
myPanel = new JPanel();
}
public void update(IObservable o, Object arg){
GameWorldProxy gwp = (GameWorldProxy) o;
Iterator gameObjects = gwp.getCollection().getIterator();
while(gameObjects.hasNext()){
GameObject gameObj = (GameObject) gameObjects.getNext();
System.out.println(gameObj);
}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
timer.start();
}
public void actionPerformed(ActionEvent e){
repaint();
}
}
如何抓取当前对象并迭代它们以在面板上正确绘制它?