- 尚学堂Java桌球小游戏,照着视频敲的代码
- 主要遇到的花费时间多的是图片的路径,使用maven创建项目,图片放在src的images文件夹下,后面使用相对路径为
src/images/ball.png
,开头不需要加反斜杠,相对路径是相对项目的目录,这里是testjava下。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4b9c065eab06e9b9728b87b6d1807571.png)
- BallGame2.java文件如下
import javax.swing.*;
import java.awt.*;
public class BallGame2 extends JFrame{
Image ball = Toolkit.getDefaultToolkit().getImage("src/images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("src/images/desk.jpg");
double x = 400;
double y = 200;
double degree = 3.1416 / 3;
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 > 500 - 40 - 30 || y < 40 + 40){
degree = -1 * degree;
}
if (x < 0 + 40 || x > 856 - 40 -30){
degree = 3.1416 - degree;
}
}
void launchFrame(){
setSize(856,500);
setLocation(50,50);
setVisible(true);
while(true){
repaint();
try{
Thread.sleep(40);
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void main(String[] args) {
BallGame2 game = new BallGame2();
game.launchFrame();
}
}
- 效果如图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2bdb40625ec4222eca33e18dcfec5bef.png)