30分钟java桌球小游戏_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帧

} catch (Exception e) {

e.printStackTrace();

}

}

}

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

public static void main(String[] args) {

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

BallGame game = new BallGame();

game.launchFrame();

}

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值