ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

射击类游戏设计思路1.0

射击类游戏设计思路1.0 前言这篇文章主要介绍一下射击类游戏的设计思路较为经典的就是飞机大战我们用java swing来实现简单介绍一下就是玩家可以通过键盘控制飞机移动飞机能够发射子弹敌机从屏幕上方出现。玩家需要躲避敌机并且击落它获得相应分数。最基本的就是需要有一个窗口类游戏窗口显示------GameUI类有了游戏窗口类接下来要再有一个界面类作为游戏画布------GamePanel类用来绘制背景、飞机、子弹等那些素材pspanel对象也要写在可视化前面不然看不见为了控制飞机的移动和子弹的发射并不可少的就是监听器类监听器类------分为键盘监听器还有鼠标监听器鼠标监听器GameMouseListener):按鼠标来控制子弹的发射创建鼠标对象创建鼠标监听器对象加在面板上也就是panel类上以前我们写鼠标监听器的时候都是实现接口但是接口就是一定要重写接口里的所有方法但是有些接口里的方法我们有些方法又不需要用到这时候就可以想到我们可以继承类MouseAdapter这样就只要写我们需要用的方法键盘监听器GameKeyListenerWASD分别用来控制飞机的前后左右的移动键盘监听器我们这里还是继承类来实现W:向上移动A向左移动S向下移动D向右移动J发射子弹步骤导包、实现接口注册监听器获得焦点这里以前没有接触到的就是获得焦点如果没有焦点、键盘事件不会触发三个监听方法keyPressed按下按键时执行keyReleased松开按键时执行keyTyped输入字符时触发KeyEvent对象三个方法都会得到一个参数KeyEvent e它表示本次按键事件获取按键时按下的是哪个键e.getKeyCode()线程Thread概念就是程序中的一条执行路线一个程序进行时可以同时存在多个线程每个线程负责不同的任务主线程mainJava程序启动时即使我们没有自己创建线程也会自动存在一个线程创建线程------继承Thread类gameThread.start();创建线程类重写run方法run中编写的就是这个线程以后要执行的任务创建线程对象GameThread gameThread new GameThread();启动线程gameThread.start();start和run的区别start作用gameThread.start();就是启动一个新的线程会执行run方法中的代码run作用gameThread.run();如果直接调用run(),本质上只是普通的方法调用并不会启动一个新的线程。Thread.sleep()作用让当前正在执行的线程暂停一段时间。
返回列表