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)

相关推荐

  • java实现一个桌球小游戏

    本文实例为大家分享了java实现桌球小游戏的具体代码,供大家参考,具体内容如下 在ecplise中新建一个JAVA项目 建立四个class分别对应游戏登陆界面,游戏界面,数据库操作,和一个开始类 代码如下 游戏类: package 弹球游戏; import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; im

  • java实战之桌球小游戏

    本文实例为大家分享了java桌球小游戏的具体代码,供大家参考,具体内容如下 源码: import java.awt.*; import javax.swing.*; public class BallGame2 extends JFrame{ Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png"); Image desk = Toolkit.getDefaultToolkit().getImage(&qu

  • java实现桌球小游戏

    本文实例为大家分享了java实现桌球小游戏的具体代码,供大家参考,具体内容如下 桌球小游戏 两张图片放在src的同级目录下 版本一.出现窗口 package cn.xjion.game; /** * 出现窗口 * @author xjion * */ import java.awt.*; import javax.swing.*; //继承窗口类 public class BallGame extends JFrame{ // 窗口加载的方法 void launchFrame(){ // 窗口的

  • 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

  • java弹幕小游戏1.0版本

    java 弹幕小游戏的最初版本,供大家参考,具体内容如下 最近在学习javaSE,根据b站视频老师的讲解,也参考了他的代码,做了一个弹幕小游戏,也增添了一些自己的代码进去,因为只是最简单的游戏体,以后会慢慢做完整,所以如果有错误,或者代码不够整洁的话,可以帮我改正,谢谢啦. 父类 import java.awt.*; public class GameObject { //游戏物体的父类 Image img; double x,y; int speed = 3; int width,height

  • Java太阳系小游戏分析和源码详解

    最近看了面向对象的一些知识,然后跟着老师的讲解做了一个太阳系各行星绕太阳转的小游戏,来练习巩固一下最近学的知识: 用到知识点:类的继承.方法的重载与重写.多态.封装等 分析: 1.需要加载图片.画图 2.建一个面板,主页面 3.行星类 效果图: 先看一下源码结构图: 现在逐步分析各个类的功能: 1)工具类-----util包中 --Constant类   封装了游戏中用到的常量 --GameUtil类  封装了游戏的图片加载功能 --MyFrame类  封装了游戏面板的构造,用于各面板的父类 -

  • java简易小游戏制作代码

    java简易小游戏制作 游戏思路:设置人物移动,游戏规则,积分系统,随机移动的怪物,游戏胜负判定,定时器. 游戏内容部分 package 代码部分; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyList

  • Java实现图片翻转以及任意角度旋转

    最近几天在做一个项目,因为涉及到了图片(绝大部分都不是整图,是把一张张的大图切成小图,也就是Title)的翻转以及90°旋转,弄得焦头烂额.在网上搜索好几天,发现用到的方法都是比较公式化的,对于只是在绘图的时候需要显示翻转而不需要另外生成图片的情况,这些代码用起来非常的麻烦.最后仔细的研究了一下JDK文档,用Graphics2D很简单的就实现了以下功能: 1.图片的翻转,包括水平翻转以及垂直翻转 2.图片的任意角度旋转.因为工程需要,代码里面都直接写成了+90,根据需要,可以对这个值进行改动,以

  • java五子棋小游戏实现代码

    前言 之前学完java基础课程,试着简单做了一下java的一个五子棋小游戏,记录下来. 界面 由于直接用的java库中的一些基本控件写的一个GUI,并没有做过多优化,感觉比较丑 下面是界面展示: 黑子先行,但是我这边简化规则,并没有考虑黑子先行的一些禁手. 下面直接贴代码 接口类 我把五子棋界面的一些常量都定义在了这个接口类中,包括棋盘的起始坐标,棋盘线的间距和棋子半径 public interface constant { int[][] chessLocation = new int[15]

  • Java俄罗斯方块小游戏

    去年就已经学了这个技术了,一直没去写,现在抽个时间写了个俄罗斯方块游戏. 只有简单的新游戏,暂停,继续,积分功能.简单的实现了俄罗斯的经典功能. 不介绍了,有兴趣的自己运行一下,后面贴出了图片. 代码: package cn.hncu; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.Act

随机推荐