仿雷霆战机——光影空战二级课题报告.doc
《仿雷霆战机——光影空战二级课题报告.doc》由会员分享,可在线阅读,更多相关《仿雷霆战机——光影空战二级课题报告.doc(67页珍藏版)》请在三一办公上搜索。
1、 姓名:王彦培 课题名称:仿雷霆战机光影空战摘 要1第一章 需求分析21.2问题描述21.3技术分析21.3.1开发环境31.3.2 J2ME技术和Eclipse的介绍3第二章 游戏结构42.1功能结构4第三章 总结3264中原工学院软件学院二级实践课题设计任务书姓 名王彦培 RB软件 专业 Java124 班题 目光影空战设计任务仿雷霆战机设计出一款射击类游戏,游戏是在雷霆战机上有所修改,设计绚丽的移动式背景,精彩的玩家战机与敌机对抗画面,玩家战机移动和发射子弹都是依靠键盘,在战斗过程中,还伴随有一定的音乐效果。时间进度第1周(九月二号九月六号):第2周(九月九号九月十三号):第3周(九月十
2、六号九月二十号):原 主始 要资 参料 考与 文 献01Michael Morrison著 李强 译J2ME手机游戏编程入门.人民邮电出版社.2005.702米川英树 著博硕文化 译 J2ME MIDP手机游戏程序设计:中国铁道出版社.2004.1203梁勇著.李娜 译.Java语言程序设计(基础篇):机械工业出版社.2011.5指导教师签字: 年 月 日光影空战摘 要在我国信息产业有着举足轻重的地位,随着3G时代的的到来,除了无线通讯业务外,短信业务、手机游戏等增值业务都有着广阔的发展空间。手机以其便携性,多功能性已经和广大群众的日常生活密不可分。手机游戏更成为闲暇时人们的挚爱。随着技术对游
3、戏的促进,无线设备和移动电话成为游戏开发领域的游戏平台。最直接的游戏开发模式是在手机设备提供的操作系统平台上直接进行游戏开发。本课题开发的是仿雷霆战机游戏手机游戏,就是一个略微复杂的J2ME游戏。本文首先简单介绍了Java编程语言及其技术发展对其中主要针对手机软件开发的J2ME体系结构和J2ME的无线工具包WTK进行了概述。然后具体介绍了开发工具Eclipse开发环境的基础、下载与安装、必要的配置及J2ME插件Eclipse的安装、配置。进而从手机游戏开发的需求分析着手,根据现有的雷霆战机射击类游戏的需求,提出了怎样进行手机游戏的策划和手机游戏实现的具体设计,论及到游戏框架的设计、系统结构设计
4、和系统详细设计,并落实到手机游戏设计的实现中去。J2ME的广泛应用,极大地推动了移动通讯行业和手机游戏行业的发展,对手机游戏软件的开发提供了一个很好的技术平台和完整的开发、部署的环境。关键词: J2ME; Java 仿雷霆游戏;手机游戏;第一章 需求分析 1.1项目背景随着科学技术的发展,人们的工作和生活方式发生了巨大的变革。人们开始充分利用日益发展的计算机信息技术和网络技术,设计开发各种在线服务系统,这些在线系统影响着人们的方方面面,给人们带来了极大的便利,同时给人们带来了一种新兴的娱乐方式,如电子游戏,电脑游戏网络游戏等。 由于通信技术的升级发展,手机走进了中国千家万户,与一万人们的现代生
5、活紧密结合在一起。随着科技信息技术及硬件技术的飞速发展,使原来只有通讯功能的手机,增大了对应程序的支持,使在手机中玩游戏成为可能。手机的普及,也必然使得这种游戏平台(J2ME)得到迅速普及手机游戏开发成为了游戏行业的最新的热点。1.2问题描述 手机的小巧方便成为人们最普及的随身携带的个人通讯物品在闲暇之余,手机游戏也受到了手机用户的欢迎。它可以随时随地的进行娱乐消遣。这一庞大的手机用户群体,对于手机游戏的需求会很大,这位手机游戏的发展前景、为手机游戏开发商以及整个游戏行业的发展及经济效益的提升,带来了巨大的商机和发展空间。手机游戏也有它的局限性:就目前来看,手机游戏仍然与机游戏的功能有一定的差
6、距,原因是:()手机的体积有限,手机中的处理芯片处理能力有限,这就限制游戏开发者所能编制的游戏类型。()由于手机的视频屏幕较小,就不可能编制复杂的游戏软件,和获得较逼真的效果。()网络传输速度在手机的设计上也受到限制,是网络互动方面受到一定影响。()有限的手机内存配置,也使手机游戏的色彩和音效都不能尽如人意1.3技术分析光影空战是在雷霆战机的基础上进行修改,所使用的思想也是根据雷霆战机而设计,为编写代码奠定了基础。1.3.1开发环境 仿雷霆战机小游戏开发环境是在操作系统Microsoft Windows XP ,程序语 言Java ,开发包Sun Java(TM) Wireless Toolk
7、it 2.5.2 for CLDC,IDEEclipse 3.2 1.3.2 J2ME技术和Eclipse的介绍 Java 2Micro Edition,是Sun微系统公司流行Java编程语言紧凑的版本。以J2ME来对移动设备进行编程。J2ME包括一组开发工具和丰富的应用程序接口(API)以供开发手机应用程序,人们称之为MIDlet,它负责协助java字节码在每个具体手机上的执行,J2ME开发包工具可以被绑定在这些集成开发环境中,进一步提高开发效率。Eclipse是一个开放源代码,基于Java的可扩展开发平台。就其本身而言,它是一个标准的插件集。包括Java开发工具。Eclipse是一个开放源
8、代码的软件开发项目专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发Eclipse Platform则是一个开放的可扩展IDE提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。1.3.3可行性研究 1、技术可行性:仿雷霆战机游戏光影空战是一款较为小型的手机游戏,适合现代人的生活的方式,为以后的智能手机的硬件平台提供应用软件,根据
9、已有的手机游戏设计经验,利用J2ME来实现游戏的功能。 2、操作可行性:该游戏在所有的支持Java的手机平台上都可以运行,按键简单,易于操作简单,背景绚丽,趣味性强。 3、功能需求分析:功能需求分析是整个项目开发的重要阶段,是游戏开发的重要一步,分析成功与否,将决定着整个项目的功能的完善性以及稳定性。这个阶段中,我们要确定整个游戏的功能需求,并且将抽象的想象实现具体化操作。 第二章 游戏结构2.1功能结构我们组的游戏是依据在雷霆战机的的基础上设置的光影空战,游戏规则非常简单,玩家进入游戏之后,先于小Boss进行战斗,再与大Boss进行战斗。 实现游戏代码所使用的类和方法他们分别是:GameMa
10、in(),KeyboardPanel(),Bullet(),imageArray(),constant()表2.1光影空战使用类GameMain()系统自带的类:Java.applet.AppletJava.applet.AudioClip;Java.awt.Color;Java.io.file;Java.swing.JFrame;在主类GameMain()中构造KeyboardPanel(),Audiocip BackMusic的循环loop()和播放play()两种方法。 下面是对GameMain()中的每一个方法和类的具体介绍:Java.applet.AudioClip:AudioCli
11、p接口是用于播放音频剪辑的简单抽象。多个AudioClip项能够同时播放,得到的声音混合在一起可产生合成声音。Loop()方法是以循环方式开始播放此音频剪辑。Play()方法是开始播放此音频剪辑。每次调用此方法时,剪辑都从头重新开始播放。Color类用于封装默认sRGB颜色,或者用于封装由ColorSpace标识的任意颜色空间中的颜色。每种颜色都有一个隐式的alpha值1.0。或者有一个在构造方法中提供的显式的 alpha 值。alpha 值定义了颜色的透明度,可用一个在 0.0 - 1.0 或 0 - 255 范围内的浮点值表示它。alpha 值为 1.0 或 255 则意味着颜色完全是不透
12、明的,alpha 值为 0 或 0.0 则意味着颜色是完全透明的。在使用显式的 alpha 值构造 Color 时,或者在获取某个 Color 的颜色/alpha 分量时,从不将颜色分量预乘 alpha 分量。文件和目录路径的抽象表示形式。用户界面和操作系统使用与系统相关的路径名用字符串来命名文件和目录,此类呈现分层路径名的一个抽象的、与系统无关的视图。抽象路径名有两个组件:一个可选的与系统有关的前缀字符串,比如盘符“/”表示UNIX中的根目录,“”表示Microsoft Windows UNC路径名。零个或更多字符串名称 的序列。抽象路径名中的第一个名称是目录名,对于 Microsoft W
13、indows UNC 路径名则是主机名。抽象路径名中第一个名称之后的每个名称表示一个目录;最后一个名称既可以表示目录,也可以表示文件。空 抽象路径名没有前缀和名称序列。 路径名字符串与抽象路径名之间的转换与系统有关。将抽象路径名转换为路径名字符串时,每个名称与下一个名称之间用一个默认分隔符 隔开。默认名称分隔符由系统属性 file.separator 定义,可通过此类的公共静态字段 separator 和 separatorChar 使其可用。将路径名字符串转换为抽象路径名时,可以使用默认名称分隔符或者底层系统支持的任何其他名称分隔符来分隔其中的名称。无论是抽象路径名还是路径名字符串,都可以是
14、绝对 路径名或相对 路径名。绝对路径名是完整的路径名,不需要任何其他信息就可以定位它所表示的文件。相反,相对路径必须使用取自其他路径名字的信息进行解释。默认情况下,java.io 包中的类总是根据当前用户目录来解析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录。调用此类的 getParent() 方法可以获取抽象路径名的父 路径名,它由路径名前缀以及路径名名称序列中的每个名称(最后一个除外)组成。对于任何具有绝对抽象路径名的 File 对象,如果其绝对抽象路径名以某个目录的绝对路径名开头,那么该目录的绝对路径名是该 File 对象的祖先。例如,抽象路径
15、名 /usr表示的目录是路径名 /usr/local/bin 所表示目录的一个祖先。在处理 UNIX 平台的根目录,以及 Microsoft Windows 平台的盘符、根目录和 UNC 路径名时,将用到前缀这一概念。如下所示:对于 UNIX 平台,绝对路径名的前缀始终是 /。相对路径名没有前缀表示根目录的绝对路径名的前缀为 / 且名称序列为空。对于 Microsoft Windows 平台,包含盘符的路径名前缀由驱动器号和一个 : 组成。如果路径名是绝对路径名,还可能后跟 。UNC 路径名的前缀是 ;主机名和共享名是名称序列中的前两个名称。没有指定驱动器的相对路径名没有前缀。此类的实例可能表
16、示(也可能不表示)实际文件系统对象,如文件或目录。如果它表示这种对象,那么该对象驻留在一个分区 中。分区是文件系统特定于操作系统的存储分区。一个存储设备(例如,物理磁盘驱动器、闪存、CD-ROM)可以包含多个分区。对象(如果有)将驻留在此路径名(绝对形式)某个祖先指定的分区上。文件系统可以实现对实际文件系统对象上的某些操作(比如,读、写、执行)进行限制。这些限制统称为访问权限。文件系统可以对一个对象设置多个访问权限。例如,一个设置可能适用于对象的所有者,另一个设置则可能适用于所有其他用户。对象上的访问权限可能导致此类的某些方法执行失败。File 类的实例是不可变的;也就是说,一旦创建,File
17、 对象表示的抽象路径名将永不改变。JFrame 类与 Frame 轻微不兼容。与其他所有 JFC/Swing 顶层容器一样,JFrame 包含一个 JRootPane 作为其唯一的子容器。根据规定,根窗格所提供的内容窗格应该包含 JFrame 所显示的所有非菜单组件。这不同于 AWT Frame。为了方便地使用 add 及其变体,已经重写了 remove 和 setLayout,以在必要时将其转发到 contentPane。这意味着可以编写: frame.add(child);子级将被添加到 contentPane。内容窗格始终是非 null 的。试图将其设置为 null 会导致 JFrame
18、 抛出异常。默认的内容窗格上会设置有 BorderLayout 管理器。有关添加、移除和设置 JFrame 的 LayoutManager 的详细信息,请参阅 RootPaneContainer。 与 Frame 不同,当用户试图关闭窗口时,JFrame 知道如何进行响应。用户关闭窗口时,默认的行为只是简单地隐藏 JFrame。要更改默认的行为,可调用方法 setDefaultCloseOperation(int)。要使 JFrame 的行与 Frame实例相同,请使用 setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)。
19、有关内容窗格和根窗格提供的其他功能的更多信息,请参阅 The Java Tutorial 中的 Using Top-Level Containers 一节。在多屏幕环境中,可以在不同的屏幕设备上创建一个 JFrame。在游戏源代码中,在主类GameMian()中首先创建了JFrame窗体类,在窗体类中又增加KeyboarsPanel()面板类;而在构造函数中add()方法中调用了面板类创建的对象keyboardPanel,同时还在构造函数中添加了音乐对象BackMusic(),并且在该对象包括了Applet.newAudioClip(newFile(“src/image/1.mid”). to
20、URL();同时也使用了trycatch()处理异常,这样能够保障音乐能从文件中顺利播放。New File(“src/image/1.mid”)是音乐导入类文件。接着介绍游戏中的第二大类KeyboardPanel(),这个面板类就是和我们平时的容器差不多,能够将游戏中的图像及它们的动画效果都在此完成; 表2.2KeyboardPanel()面板类 KeyboardPanel()面板类java.awt.Graphics绘制图形类java.awt.event.ActionEvent;内部类监听器java.awt.event.KeyAdapter;处理按键输入类java.awt.event.KeyE
21、vent;事件监听类javax.swing.Timer;监听类Bullet子弹类keyPressed()按键触发器方法getKeyCode()获取按键代码方法repaint();重画方法drawImage();画图方法在Graphics类中提供了绘制字符串、直线、矩形、椭圆、多边形、折线的方法,可以将GUI组建中做成一张纸,而将Graphics看做铅笔或画刷。可以应用Graphics 类中的方法在不同的平台的显示屏上显示图像或图形,任何时候需要显示组件时,JVM都会自动在本地平台上为该组件创建一个Graphics对象,然后传递这个对象来调用paintComponent(Graphics g),
22、这个定义在JComponent类中的方法是在第一次显示组件或重新显示组件时调用的。Graphics类是所有图形上下文的抽象类的基类,允许应用程序在组件(已经在各种设备上实现)以及闭屏图像上进行绘制。Graphics对象封装了Java支持的基本呈现操作所需的状态信息。此状态信息包括:要在其上绘制的Component对象;呈现和剪贴坐标的转换原点;当前剪贴区;当前颜色;当前字体;当前逻辑像素操作函数;当前XOR交替颜色。所有作为Graphics对象方法的参数而出现的坐标,都是相对于调用该方法前的此Graphics 对象转换原点的,所有呈现操作仅修改当前剪贴区所限定区域内的像素,此剪贴区是用户空间中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 雷霆 战机 光影 空战 二级 课题 报告

链接地址:https://www.31ppt.com/p-4930241.html