1. 程式人生 > >使用java實現持續移動的小球

使用java實現持續移動的小球

原創作品,可以轉載,地址http://www.4587.com/
僅為自己學習作品,使用java的JFrame框架實現持續移動的小球。
最核心的部分為實現小球移動的move()方法,在小球碰到牆壁四壁的時候得以反彈,不會移到牆壁之外。

複製程式碼
1 /*
2
使用java實現持續移動的小球
3 */
4
5 package jframe;
6
7 import java.awt.Color;
8 import java.awt.Graphics;
9
10 import javax.swing.JFrame;
11
12 public class JFrameTest extends JFrame{
13 //定義移動變數
14 int x = 0;
15 int y = 0;
16 int m = 1;
17 int n = 1;
18 //主函式
19 public static void main(String[] args) {
20 new JFrameTest();
21 }
22 //使用構造器建立窗體並設定
23 public JFrameTest(){
24 this.setVisible(true);
25 this.setSize(500,500);
26 this.setDefaultCloseOperation(3);
27 this.setLocation(400, 100);
28 this.setResizable(false);
29 this.setTitle("測試框架");
30 move();
31 }
32 //重寫畫圖方法
33 @Override
34 public void paint(Graphics g) {
35 super.paint(g);
36 g.setColor(Color.BLACK);
37 g.fillOval(x, 25 + y, 50, 50);
38 }
39 //定義小球移動軌跡
40 public void move(){
41 while(true){
42 x += m;
43 y += n;
44 if(x >= 450){
45 m = -m;
46 }
47 if(x < 0){
48 m = 1;
49 }
50 if(y >= 425){
51 n = -n;
52 }
53 if(y < 0){
54 n = 1;
55 }
56 try {
57 Thread.sleep(1);
58 } catch (InterruptedException e) {
59 e.printStackTrace();
60 }
61 repaint();
62 }
63 }
64 }
複製程式碼
好看的MM圖片

圖片