**
Java 桌球游戏 开发
**
步骤:
- 在项目下面创建images包,将两张图片复制在images包中
- 在src中创建Java类(BallGame.java)
- 复制代码
- 运行
1、创建images包
2、将两张图片复制在images包里中
desk.jpg 长宽:856×501(像素)
ball.png
3、 复制代码
import java.awt.*;
import javax.swing.*;
/**
* @author 南巷春风
* @version 1.0
* @data 2023/3/29 18:09
*/
public class BallGame extends JFrame {
//导入图片
Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
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);//窗口出现的位置 x=100,y=100.原点在屏幕左上角
setVisible(true);//开始运行模型
//实现动画,每秒绘制窗口25次
while (true) {
repaint();
try {
Thread.sleep(40); //1s=1000,;大约每一秒绘制1000/40=25次。
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
public static void main(String[] args) {
System.out.println("我的小游戏开始了!");
BallGame game = new BallGame();
game.launchFrame();
}
}
4、运行结果
ps:生成的桌面出现的加载缓慢或者残缺,不用担心这是正常的。可以双击导航条最大化,再双击返回原始窗口大小。图片就可以正常加载了。