java 做一个简单桌球小游戏页面 练练手 (用idea 图片加载不上,改用eclipse成功)

package 桌球;

import java.awt.;
import javax.swing.
;

public class BallGame extends JFrame{

Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
double x = 100;
double y = 100;
//boolean right = true;//right 向右
double degree = 3.14/3;//弧度,此处就是60度;degree度数

//图片加载
public void paint(Graphics g){
	System.out.println("刷新");
	g.drawImage(desk, 0, 0, null);
	g.drawImage(ball,(int) x, (int)y, null);//球的位置//出现报错,强制类型转换
	
	//直线运动
	/*if(right){
		x = x +10;
	}else{
		x = x - 10;
	}
	
	if(x>650){
		right = false;
		//x = x - 10;
	}
	if(x<40){
		right = true;	
	}*/
	//变换角度
	x = x + 5*Math.cos(degree);
	y = y + 5*Math.sin(degree);
	//上下边界
	if(y>421-35-30||y<35+20){//421窗口高度,30是桌子边框,30球的直径;30+20是桌子边框 加上上面标题栏的宽度
		degree = -degree;
		
	}
	//左右边界
	if(x<30||x>720-30-30){
		degree = 3.14-degree;
	}	
}
//窗口加载
void lanunchFrame(){
	setSize(720,421);//窗口大小
	setLocation(50, 50);//画框在电脑窗口起始位置
	setVisible(true);
	
	while(true){
		repaint();//重画窗口 repaint();调用paint(Graphics g)
		try {
			Thread.sleep(40);//暂停重画时间ms
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
	}		
}
public static void main(String[] args){
	System.out.println("nihao");
	BallGame game = new BallGame();
	game.lanunchFrame();	
}

}
在这里插入图片描述

在这里插入图片描述
球案
在这里插入图片描述

发布了174 篇原创文章 · 获赞 7 · 访问量 8410

猜你喜欢

转载自blog.csdn.net/weixin_45339692/article/details/105341147