import javax.swing.*;
import java.awt.*;
public class BallGame2 extends JFrame {
Image ball=Toolkit.getDefaultToolkit().getImage("images/台球.png");
Image balldesk=Toolkit.getDefaultToolkit().getImage("images/zhuo.jpg");
double x=100;
double y=100; //小球的横纵坐标
double degree=3.14/3;//弧度,60度
//画窗口的方法
public void paint(Graphics p) {
p.drawImage(balldesk, 0, 0, null);
p.drawImage(ball, (int) x, (int) y, null); //小球的坐标位于100,100
x=x+10*Math.cos(degree);
y=y+10*Math.sin(degree);
if(y>500-40-30||y<40+40){ //40:边框最后一个40是标题栏的高度,500是窗口的高度
degree=-degree; //回弹
}
//碰到左右边界
if(x<40||x>856-40-30){
degree=3.14-degree;
}
}
//窗口加载
void launchFrame() {
setSize(856, 500); //窗口的大小
setLocation(50, 50); //坐标
setVisible(true);
//重画窗口 ,每秒画20次
while(true){
repaint();
try{
Thread.sleep(50); //50ms
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void main(String[] args) {
System.out.println(" Welcome to Ballgame!");
BallGame2 game = new BallGame2();
game.launchFrame();
}
}
运行结果:
总结:注意放入图片的大小和窗口的大小,注意左右上下移动和角度问题就可以啦。