简述
1、创建窗口、加载台球与桌面
2、更新桌面使台球移动
3、计算xy方向角度与位置约束,最后持续更新
效果
代码
package com.jxd;
import java.awt.*;
import javax.swing.*;
public class Main extends JFrame
{
double x = 200,y = 200;
double degree = 3.14 / 3;
boolean right = true;
Image ball = Toolkit.getDefaultToolkit().getImage("Resource/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("Resource/ballDesk.jpg");
// 绘制窗口
public void paint(Graphics g)
{
System.out.println("窗口绘制一次!"+x);
g.drawImage(desk,0,0,null);
g.drawImage(ball,(int)x,(int)y,null);
x = x + 20 * Math.cos(degree);
y = y + 20 * Math.sin(degree);
if(y > 430 || y < 70)
{
degree = -degree;
}
if(x > 780 || x < 50)
{
degree = 3.14 - degree;
}
}
// 创建窗口
void lauchFrame()
{
System.out.println("创建窗口!");
setSize(856,501);
setLocation(100,100);
setTitle("Ball Game");
setVisible(true);
while(true)
{
repaint();
try
{
Thread.sleep(20);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
System.out.println("hello,java!");
Main game = new Main();
game.lauchFrame();
}
}
关注
笔者 - jxd
微信公众号搜索 “码农总动员” 或 微信扫描下方二维码,了解更多你不知道的XX,O(∩_∩)O