射击类游戏设计思路1.0
2026/8/13 12:34:58 网站建设 项目流程

前言:这篇文章主要介绍一下射击类游戏的设计思路,较为经典的就是飞机大战,我们用java swing来实现

简单介绍一下,就是玩家可以通过键盘控制飞机移动,飞机能够发射子弹,敌机从屏幕上方出现。玩家需要躲避敌机并且击落它,获得相应分数。

最基本的就是需要有一个窗口类

游戏窗口显示------GameUI类

有了游戏窗口类,接下来要再有一个界面类

作为游戏画布------GamePanel类

用来绘制背景、飞机、子弹等那些素材

ps:panel对象也要写在可视化前面,不然看不见

为了控制飞机的移动和子弹的发射并不可少的就是监听器类

监听器类------分为键盘监听器还有鼠标监听器

鼠标监听器(GameMouseListener):按鼠标来控制子弹的发射

创建鼠标对象

创建鼠标监听器对象,加在面板上也就是panel类上

以前我们写鼠标监听器的时候都是实现接口,但是接口就是一定要重写接口里的所有方法,但是有些接口里的方法我们有些方法又不需要用到,这时候就可以想到,我们可以继承类MouseAdapter,这样就只要写我们需要用的方法

键盘监听器(GameKeyListener):WASD分别用来控制飞机的前后左右的移动

键盘监听器我们这里还是继承类来实现

W:向上移动

A:向左移动

S:向下移动

D:向右移动

J:发射子弹

步骤:

导包、

实现接口

注册监听器

获得焦点

这里以前没有接触到的就是获得焦点,如果没有焦点、键盘事件不会触发

三个监听方法

keyPressed():按下按键时执行

keyReleased():松开按键时执行

keyTyped():输入字符时触发

KeyEvent对象

三个方法都会得到一个参数:KeyEvent e

它表示本次按键事件

获取按键时按下的是哪个键e.getKeyCode()

线程(Thread)

概念

就是程序中的一条执行路线

一个程序进行时,可以同时存在多个线程,每个线程负责不同的任务

主线程main

Java程序启动时,即使我们没有自己创建线程,也会自动存在一个线程

创建线程------继承Thread类

gameThread.start();
创建线程类

重写run()方法

run()中编写的就是这个线程以后要执行的任务

创建线程对象

GameThread gameThread = new GameThread();

启动线程

gameThread.start();
start()和run()的区别

start()作用:gameThread.start();就是启动一个新的线程,会执行run()方法中的代码

run()作用:gameThread.run();如果直接调用run(),本质上只是普通的方法调用,并不会启动一个新的线程。

Thread.sleep()

作用:

让当前正在执行的线程暂停一段时间。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询