大学上了三年,也没有手动打过一个纯Java的项目;
算的上是一个阶段性的吧,自己做过别的小项目:app后台数据分析、实时计算、数据清洗之类的都是关于大数据的,纯Java的还是头一个,代码放在下面了,需要图片的也放下面啦;
package com.bjsxt;
import java.awt.*;
import javax.swing.*;
public class BallGame extends JFrame {
//绝对路径引用图片
Image ball = Toolkit.getDefaultToolkit().getImage("E:/Java-mycode/images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("E:/Java-mycode/images/desk.png");
double x =200;
double y =200;
double degree =3.14/3; //弧度。 3.14=180° 60°
//绘制窗口
public void paint(Graphics g){
System.out.println("窗口被画了一次");
//以弹出的窗口为坐标系,从头开始画;
g.drawImage(desk,0,0,null);
//以窗口为坐标系;
g.drawImage(ball,(int)x,(int)y,null);
x = x + 10*Math.cos(degree);
y = y + 10*Math.sin(degree);
//碰到上下边界
if (y>501-40-30||y<40+40){
degree = - degree;
}
//碰到左右边界
if (x>856-40-30||x<40){
degree = 3.14 - degree;
}
}
//创建窗口
void launchFrame(){
setSize(856,501);
//定位在哪里出现,以屏幕左上角为原点,建立坐标系定位;
setLocation(100,100);
setVisible(true);
//实现动画,每秒绘制窗口25次
while (true){
repaint();
try {
Thread.sleep(40); //1秒等于1000ms,1000/40=25次
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args){
System.out.println("我的小游戏开始了!");
BallGame game =new BallGame();
game.launchFrame();
}
}