窗口调用实现简单动画(Java描述)

2021-03-06 20:29

阅读:775

/*
* 在新建一个项目的时候,file new project src package class
* 插入图片,在project文件夹下ctrl c选中图片,新建Direction,输入images,回车,
* 选中新建文件夹 CTRL V即可*/
package com.bjsxt;

import org.w3c.dom.ls.LSOutput;

import javax.swing.*;
import java.awt.*;
import java.net.URL;

public class BallGame extends JFrame {
//引入图片:调用方法,为图片创建一个对象。注意,狗日的idea会给你补全一些东西,妈的,只能用它的
Image ball=Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk=Toolkit.getDefaultToolkit().getImage("images/desk.png");

double x=200;
double y=200;

double degree=3.14/3;//java 默认使用这弧度制.3.14即为180°

//绘制窗口
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>300||y degree=-degree;
}
//碰到左右边界
if(x>756||x degree=3.14-degree;
}
}
/*窗口使用
* 1.创建窗口,void launchFrame()
* 2.方法体里,setSize setLocation,setVisible*/

void launchFrame(){
setSize(856,400);
setLocation(100,100);
setVisible(true);

//实现动画,每秒绘制动画25次
while (true) {
repaint();

try {
Thread.sleep(40);//1s=1000ms;大约1秒绘制1000/40=25次
}catch (InterruptedException e){
e.printStackTrace();
}
}
}

public static void main(String[] args) {
System.out.println("第一个游戏开始");

BallGame game=new BallGame();
game.launchFrame();
}

}


评论


亲,登录后才可以留言!