Java小程序之桌球动起来!
2016-08-03 23:02
183 查看
亲爱的小伙伴们,最近好久都没有更新博客了!因为我在忙着学MySQL数据库去了!
经过一段时间的钻研,终于学完了MySQL数据库的基础知识,现在回归到Java,会慢慢结合数据库写一些小东西,敬请期待!
今天学到一招,给大家分享一下。
开发小游戏的基本步骤:
1.搭建窗体
2.加载图片
3.增加动态效果
4.通过所学的数学函数来控制物体的运动
下面给大家带来一个小小的桌球游戏,桌球碰到边界会弹回去,球会一直在我们的窗体中不断的运动
源代码:
运行结果:
经过一段时间的钻研,终于学完了MySQL数据库的基础知识,现在回归到Java,会慢慢结合数据库写一些小东西,敬请期待!
今天学到一招,给大家分享一下。
开发小游戏的基本步骤:
1.搭建窗体
2.加载图片
3.增加动态效果
4.通过所学的数学函数来控制物体的运动
下面给大家带来一个小小的桌球游戏,桌球碰到边界会弹回去,球会一直在我们的窗体中不断的运动
源代码:
package com.bluesky; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import javax.swing.*; public class SimpleBallGame extends JFrame{ private static final long serialVersionUID = 1L; //获得我们保存好的图片,在项目下新建一个Floder文件夹,名字问Images,往里面复制一张图片 Image ball = Toolkit.getDefaultToolkit().getImage("Images/Ball.gif"); //缓冲背景图片 Image offScreeImage = null; //通过改变变量x,y的值实现物体的运动 double x=100; double y=100; //角度 double degree=3.14/3; //窗体的基本设置 public void lanchFrame(){ this.setSize(500, 400); this.setLocationRelativeTo(null); this.setBackground(Color.black); this.setTitle("简单桌球游戏"); this.setVisible(true); //控制物体运动的线程 new Thread(new BallGameThread()).start(); } //解决闪烁现象的方法 public void update(Graphics g){ if(offScreeImage==null) this.createImage(500,400); Graphics offg = offScreeImage.getGraphics(); paint(offg); g.drawImage(offScreeImage, 0, 0, null); } //画球的方法 public void paint(Graphics g){ g.fillRect(0, 0, 500, 400); Color c = g.getColor(); g.setColor(Color.red); g.drawImage(ball,(int)x,(int)y,50, 50, null); x=x+50*Math.cos(degree); y=y+50*Math.sin(degree); if(x>450 || x<0) degree=3.14-degree; if(y>350|| y<40) degree=-degree; g.setColor(c); } public static void main(String[] args) { new SimpleBallGame().lanchFrame(); } //线程的具体实现 private class BallGameThread implements Runnable{ public void run() { try { while(true){ repaint(); Thread.sleep(200);} } catch (InterruptedException e) { e.printStackTrace(); } } } }
运行结果:
相关文章推荐
- 分享一个java的UI程序,awt+swing,一个桌球计费系统,按时间计费
- Java中国象棋博弈程序探秘[5]——搜索算法
- java小程序
- Linux下使用vi 编写一个c程序和java程序
- windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码
- 把Java程序打包成jar文件包并执行
- 用Java程序生成文本的捷径
- 编译Android程序出错:android Unable to execute dex: Java heap space
- eclipse只能运行Android程序不能运行java程序
- java 读取文件,内容方置Person 序列化到磁盘,在读入程序并写到另外地址
- java中用DOM解析XML文档程序实现
- 揭秘Java网络爬虫程序原理
- 新手入门学习Java程序,重点要掌握哪些!
- 图形自动随窗口缩放的java小程序
- java程序性能优化
- C#程序与java程序(eclipse rcp)通过Socket进行进程间通讯
- 第一章 计算机、程序和Java概述 课本源代码
- 简单的Java程序(章节摘要)
- 常见查找算法java程序
- 一个用Dijkstra算法实现的路由算法的java程序——4 MapCanvas类