千家信息网

如何使用java实现桌球小游戏

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要为大家展示了"如何使用java实现桌球小游戏",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用java实现桌球小游戏"这篇文章吧。具体内容
千家信息网最后更新 2025年01月20日如何使用java实现桌球小游戏

这篇文章主要为大家展示了"如何使用java实现桌球小游戏",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用java实现桌球小游戏"这篇文章吧。

具体内容如下

桌球小游戏

两张图片放在src的同级目录下

版本一、出现窗口

package cn.xjion.game;/** * 出现窗口 * @author xjion * */import java.awt.*;import javax.swing.*;//继承窗口类public class BallGame extends JFrame{// 窗口加载的方法 void launchFrame(){// 窗口的大小,宽高 setSize(300,300);// 窗口的位置,距离窗口左上角的位置 setLocation(400,200);// 窗口可见 setVisible(true); }// main方法,执行入口 public static void main(String[] args) {// 新建对象 BallGame bg = new BallGame();// 调用方法 bg.launchFrame(); }}

版本二、加载图

这儿的加载图片有个缓存问题,需要最小化窗口再打开

package cn.xjion.game;/** * 加载图片 * @author xjion * */import java.awt.*;import javax.swing.*;//继承窗口类public class BallGame extends JFrame{// 创建两个图片的对象,代表两个图片 Image ball = Toolkit.getDefaultToolkit().getImage("image/ball.png"); Image desk = Toolkit.getDefaultToolkit().getImage("image/desk.jpg");// 画窗口的方法 public void paint(Graphics g){// 画桌面 g.drawImage(desk, 0, 0, null);// 画ball对象,坐标100,100 g.drawImage(ball, 100, 100, null); } // 窗口加载的方法 void launchFrame(){// 窗口的大小,宽高 setSize(856,500);// 窗口的位置,距离窗口左上角的位置 setLocation(50,50);// 窗口可见 setVisible(true); }// main方法,执行入口 public static void main(String[] args) {// 新建对象 BallGame bg = new BallGame();// 调用方法 bg.launchFrame(); }}

版本三、使小球动起来

package cn.xjion.game;/** * 水平滚动 * @author xjion * */import java.awt.*;import javax.swing.*;//继承窗口类public class BallGame extends JFrame{// 创建两个图片的对象,代表两个图片 Image ball = Toolkit.getDefaultToolkit().getImage("image/ball.png"); Image desk = Toolkit.getDefaultToolkit().getImage("image/desk.jpg");  int x = 100; int y = 100; boolean right = true; // 画窗口的方法 public void paint(Graphics g){// 画桌面 g.drawImage(desk, 0, 0, null);// 画ball对象,坐标100,100 g.drawImage(ball, x, y, null);// 如果向右走就加10,否则减10 if (right) { x = x + 10; }else{ x = x - 10; }// 当球跑到头了就返回 if(x>856-40-30){ right = false; } if(x<40){ right = true; }  }// 窗口加载的方法 void launchFrame(){// 窗口的大小,宽高 setSize(856,500);// 窗口的位置,距离窗口左上角的位置 setLocation(50,50);// 窗口可见 setVisible(true); // 重画窗口,无限重画 while(true){// 重画方法 repaint();// try catch抛异常 try {// 40ms重画一次,1秒25次 Thread.sleep(40); } catch (Exception e) { e.printStackTrace(); } } } // main方法,执行入口 public static void main(String[] args) {// 新建对象 BallGame bg = new BallGame();// 调用方法 bg.launchFrame(); }}

版本四、使小球沿任意角度滚动

package cn.xjion.game;/** * 任意滚动 * @author xjion * */import java.awt.*;import javax.swing.*;//继承窗口类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){// 画桌面 g.drawImage(desk, 0, 0, null);// 画ball对象,坐标100,100 g.drawImage(ball,(int) x,(int) y, null);// x和y坐标的变化 x = x + 10*Math.cos(degree); y = y + 10*Math.sin(degree);  /*判断什么时候碰到边界回弹*/// 碰到上下边界回弹 if (y>500-40-30 || y<40 + 40) { degree = -degree; }// 碰到左右边界回弹 if (x>856-40-30 || x<30) { degree = 3.14-degree; }  }// 窗口加载的方法 void launchFrame(){// 窗口的大小,宽高 setSize(856,500);// 窗口的位置,距离窗口左上角的位置 setLocation(50,50);// 窗口可见 setVisible(true); // 重画窗口,无限重画 while(true){// 重画方法 repaint();// try catch抛异常 try {// 40ms重画一次,1秒25次 Thread.sleep(40); } catch (Exception e) { e.printStackTrace(); } } } // main方法,执行入口 public static void main(String[] args) {// 新建对象 BallGame2 bg = new BallGame2();// 调用方法 bg.launchFrame(); }}

以上是"如何使用java实现桌球小游戏"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

方法 对象 图片 位置 两个 坐标 小游戏 桌球 入口 内容 大小 左上角 版本 代表 桌面 篇文章 小球 边界 学习 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百度轻量服务器开放端口 中央网络安全与信息的组长是 uncover数据库 夫子庙服务器人多吗 上海蓝狙互联网科技公司 组态王历史数据库如何恢复视频 网络安全宣传作品简介 网络安全运维报修单 开源 服务器虚拟化 河南特种网络技术分类设计 杨浦区网络技术服务哪家便宜 csol以前的爆满服务器 鲲鹏服务器有潜力吗 记者怎么建立专家数据库 服务器能带多少兆宽带 湖南怀化网络技术学院 我国网络安全的法律 静安区大规模软件开发厂家直销 数据库二维关系表 口碑好的浪潮存储服务器供应商 数据库技术与应用实验五 网络安全法正式出台 数据库开发工程师面试题基础 如何选择武汉软件开发公司 崇明区智能化软件开发定制要求 欢迎网络技术有限公司 互联网科技2017大事件 长沙裕邦软件开发有限公司 数据库的王者终于出现了 软件开发程序员混不下去了
0