飞翔的小鸟 您所在的位置:网站首页 java安卓游戏 飞翔的小鸟

飞翔的小鸟

2023-10-06 11:57| 来源: 网络整理| 查看: 265

一、写在前面:

《飞扬的小鸟》是一款曾经比较火热的小游戏,本文可以带你你从零开始,一步一步的开发出这款小游戏。

语言 Java

工具 IntelliJ IDEA,JDK 16

准备工作

创建好项目后,在正式开始编写代码前,先下载游戏素材放入正确的目录下。开发过程中使用的一些参数,如坐标、尺寸、速度等,你可以直接使用这些参数值,也可以尝试自定义这些参数值。

二、知识要点 Java的基本语法 Java面向对象的三大特征(封装、继承、多态) Java Swing中常见API的使用 (Swing 包括了图形用户界面器件如:文本框,按钮,分隔窗格和表。) 鼠标监听 IO流 线程 三、开发步骤简介 创建项目flappyBird,然后在src目录下创建两个包,分别为game和resources 将素材文件全部放入resources文件中 在测试类文件中,制作窗口面板,并将背景图片放入面板中 设计游戏道具之「地面」,新建地面类,实现游戏背景中地面的移动 设计游戏道具之「柱子」,新建柱子类,实现游戏背景中柱子的移动 设计游戏道具之「小鸟」,新建小鸟类,在类中加入小鸟的各种参数,以及飞行、移动、是否撞柱子和地面等相关的方法 将小鸟也放入面板中,用数组模拟多帧 鼠标监听控制小鸟的飞行行为 添加计分和游戏结束游戏开始的画面

由上述的分析,我们计划创建4个类:

小鸟类:设置小鸟参数,添加小鸟判断方法 柱子类:设置柱子参数,添加柱子移动方法 地面类:设置地面参数,添加地面移动方法 测试类:绘制游戏界面、添加开始结束、鼠标监听等方法 四、项目代码

注: 代码相关的解释都在代码注释中

1、绘制面板,并将背景图片放置面板中

在game包下面创建测试类BirdGame,并写入以下代码。 注:抛出的异常IDEA都可以直接点击加入,而不用自己写。

package game; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; // 游戏界面 public class BirdGame extends JPanel { // 背景图片 BufferedImage background; // 初始化游戏 public BirdGame() throws Exception { // 初始化背景图片 background = ImageIO.read(getClass().getResource("/resources/bg.png")); } // 绘制界面 public void paint(Graphics g) { // 绘制背景 g.drawImage(background, 0, 0, null); } // 启动方法 public static void main(String[] args) throws Exception { JFrame frame = new JFrame(); // 创建窗口,JFrame是屏幕上window的对象,能放大、缩小、关闭。 BirdGame game = new BirdGame(); frame.add(game); frame.setSize(440, 670); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口 frame.setVisible(true); // 显示窗口 } }

可以运行mian方法,来查看下效果。

2、设计游戏道具之地面

在game包下面定义地面类,并写入以下代码:

package game; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.IOException; class Ground { BufferedImage image; // 图片 int x, y; // 位置 int width, height; // 宽和高 // 初始化地面 public Ground() throws IOException { image = ImageIO.read(getClass().getResource("/resources/ground.png")); width = image.getWidth(); height = image.getHeight(); x = 0; y = 500; } // 地面向左移动 public void step(){ x--; if(x == -109){ x = 0; } } } 3、设计游戏道具之柱子

在game包下面定义柱子类,并写入以下代码:

package game; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; class


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有