0
所以我可以將矩形渲染到屏幕上,但是當我運行計時器時,它只是在屏幕上繪製一個越來越大的矩形,而不是像它開始的矩形那樣移動它。任何幫助將是偉大的,謝謝。Java動畫問題
遊戲類
public class Game implements ActionListener{
static Game game;
Render render;
int x;
int y;
int velx = 2;
Game(){
Timer timer = new Timer(10, this);
render = new Render();
JFrame frame = new JFrame("My Game");
frame.setSize(500, 500);
frame.setVisible(true);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(render);
timer.start();
}
public void render(Graphics g){
g.setColor(Color.red);
g.fillRect(x, y, 50, 50);
}
public static void main(String [] args){
game = new Game();
}
@Override
public void actionPerformed(ActionEvent e) {
int velx = 2;
x = x + velx;
render.repaint();
}
}
呈現類
public class Render extends JPanel {
public void paintComponent(Graphics g){
super.paintComponents(g);
Game.game.render((Graphics)g);
}
}