您的位置:首页 > 编程语言 > Java开发

入门-Java学习日记(2)

2020-07-12 16:57 35 查看

 今天跟着教程打了一个桌球的代码,主要用到swing类和awt类创建窗口并放入图片,对小球进行参数控制使其静止,水平运动或者按一定角度运动,中间使用while循环来实现小球的移动,用if条件语句判断小球触碰边界反弹。

swing类:swing是一个用于开发Java应用程序用户界面的开发工具包。

awt类:java.awt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类。

代码如下:

[code]import javax.swing.JFrame;
import java.awt.*;
public class ballgame2 extends JFrame{

//加载图片
Image ball=Toolkit.getDefaultToolkit().getImage("image/ball.png");
Image desk=Toolkit.getDefaultToolkit().getImage("image/desk.jpg");

double x=100;//小球横坐标
double y=100;//小球纵坐标
double degree=3.14/3;//弧度,此处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>500-40-30||y<40+40) {
degree=-degree;
}
//碰到左右
if (x<40||x>856-40-30){
degree=3.14-degree;
}
}
//窗口加载
void launchFrame() {
setSize(856,500);
setLocation(50,50);
setVisible(true);
//重画窗口
while(true) {
repaint();
try {
Thread.sleep(40);//40ms,大约一秒画25次窗口,1s=1000ms
} catch (Exception e) {
e.printStackTrace();
}
}
}

public static void main(String[] args) {
System.out.println("hh ");
ballgame2 game=new ballgame2();
game.launchFrame();
}

}

运行结果(小球60度移动,触碰边界后反弹,一直循环):

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: