java桌球小游戏 小球任意角度碰撞

网友投稿 272 2023-01-02


java桌球小游戏 小球任意角度碰撞

本文实例为大家分享了java桌球小游戏的具体代码,供大家参考,具体内容如下

import javax.swing.*;

import java.awt.*;

public class BallGame extends JFrame {

/**

*继承swing里面的窗口类

*/

//加载图片

Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.jpg.png");/*得到系统默认的工具包*/

Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");/*得到系统默认的工具包*/

double x = 50;//小球的起始横坐标

double y = 80;//小球的起始纵坐标

double degree = 3.14 / 3;//弧度,此处是60度

//将图片画到窗口

public void paint(Graphics g) {

System.out.println("窗口出现一次");

g.drawImage(desk, 0, 0, null);/*desk图片左上角在窗口内的坐标*/

g.drawImage(ball, (int) x, (int) y, null);/*ball图片左上角在窗口内的坐标*/

x = x + 10 * Math.cos(degree);//水平移动的距离

y = y + 10 * Math.sin(degree);//垂直移动的距离

//碰到上下边框

if (y > 450 || y < 80) {/*500-50,小球的y轴、窗口的高500,边框50;50+30,边框50,标题框30*/

degree = -degree;/*弹射(关于x轴对称)*/

}

//碰到左右边框

if (x < 50 || x > 806) {/*856-50,desk图片长度856,边框50*/

degree = 3.14 - degree;/*弹射(关于y轴对称)*/

}

}

//窗口加载

void launchFrame() {

setSize(856, 500);/*这里size指出现窗口的大小 */

setLocation(50, 50);/*location指的窗口左上角位置*/

setVisible(true);

//重画窗口

while (true) {

repaint();

try {

Thread.sleep(47);//17毫秒,1秒=1000毫秒,大约一秒画60次窗口,25帧

}lbAfVWYRlU catch (Exception e) {

e.printStackTrace();

}

}

}

//main方法是程序执行的入口

public static void main(String[] args) {

System.out.println("这是一个桌球小游戏");

BallGame game = new BallGame();

game.launchFrame();

}

}//[java]桌球小游戏(小球任意角度碰撞)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:国内接口测试工具品牌排名(接口测试常用工具有哪些)
下一篇:selenium操作隐藏的元素(python+Java)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~