Skip to content

Instantly share code, notes, and snippets.

@pinglunliao
Created August 14, 2016 02:18
package holan.tw;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.Timer;
public class GameAnimation extends JFrame implements ActionListener {
final int SCREEN_WIDTH = 400;
final int SCREEN_HEIGHT = 400;
final int RECT_WIDTH = 20;
final int RECT_HEIGHT = 20;
final int DELAY_MS = 20;
int dx = 1;
int xPos = 0;
int yPos = SCREEN_HEIGHT / 2;
Timer timer;
public GameAnimation() {
setTitle("遊戲動畫");
setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
timer = new Timer(DELAY_MS, this);
timer.setInitialDelay(190);
timer.start();
}
public void update(Graphics g) {
this.paint(g);
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.GREEN);
g.fillRect(xPos, yPos, RECT_WIDTH, RECT_HEIGHT);
}
public static void main(String[] args) {
new GameAnimation().show();
}
@Override
public void actionPerformed(ActionEvent arg0) {
this.repaint();
xPos += 1;
if( xPos >= SCREEN_WIDTH ) xPos = 0;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment