基于JAVA平台的flappybird游戏设计

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:dousansan33
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在不少人眼中,电子游戏是第九艺术,容易被青少年接受,所以具有极大的市场。但是当今社会,生活节奏飞快,大部分人已经没法静下心来花大量时间去玩某个“3A”大作。而flappy bird游戏正是一款快节奏的Side-Scrolling (横向卷轴)游戏。该文以当前比较热门的JAVA语言,在需求分析的基础上,开发并设计了经典的flappy bird游戏。
  关键词:JAVA;游戏;flappy bird;事件处理;IntelliJ IDEA
  中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2018)29-0077-03
  Abstract: In the eyes of many people, video games are the ninth art, easily accepted by young people. In today’s society, the pace of life is fast, most people have been unable to settle down to spend a lot of time playing "3A" games. But the flappy bird game is a fast-paced Side-Scrolling (horizontal scroll) game. With the help of the current popular JAVA language, this paper develops and designs the classic flappy bird game based on the demand analysis.
  Key words: JAVA; game development; flappy bird; event processing; IntelliJ IDEA
  1 背景
  开发游戏的语言不止一种,JAVA是当前比较流行的一门编程语言,因其是一种可以撰写跨平台应用程序的面向对象的程序设计语言[1],并具有卓越的通用性、高效性和平台移植性,同时,JAVA语言在游戏开发方面, 又因为其语言严谨、可读性强、高度的便利性等优势,在游戏开发中具有非常重要的地位[2]。
  当今社会,生活节奏飞快,大部分人已经没法静下心来花大量时间去玩某个“3A”大作。但flappy bird游戏正是一款快节奏的Side-Scrolling (横向卷轴)游戏,方便人们在等车或者其他碎片化时间里去耍上几局。它由来自越南的独立游戏开发者Dong Nguyen所制作,游戏于2013年5月24日上线,并在2014年2月突然爆红,可谓是游戏史上的一朵奇[3]。游戏虽然难度极大,新人上手困难,但是通过游戏分数的排名,它让人产生强烈的竞争欲,即使“受苦”也乐此不疲。该文基于JAVA平台对flappy bird游戏进行设计和开发。整个游戏在Microsoft Windows10 64位操作系统下,利用Intelli J IDEA 2017.2.4 x64开发工具进行开发。游戏模式的选择使用鼠标进行操作;游戏中小鸟的控制使用鼠标或者方向键上操作。
  2 需求分析与系统结构
  2.1 功能需求
  通过对flappy bird游戏的多次试玩和深入分析,可以发现,该款游戏虽然没有华丽的游戏画面,剧情几乎为零,也不可能通关,但每次分数的提高都让人无比激动。游戏中的图形设计和界面的美化至关重要,玩家通过点击鼠标操纵小鸟在屏幕中向上移动,游戏刚开始时屏幕的右边开始出现水管。游戏中水管会每隔一段距离放置,如果成功越过一个水管,分数加一,反之则跳转到game over画面。
  像大多数游戏一样,初始界面里有开始游戏和退出游戏的按钮。开始游戏后,小鸟出现在屏幕中,有扑腾着翅膀的动画效果,并根据重力加速度下落;而背景的蓝天白云随小鸟移动而移动;玩家轻点鼠标控制小鸟控制向上移动。
  2.2 总体结构
  flappy bird游戏的总体设计分为五个模块,总体结构设计图如图1所示。
  3 游戏数据流程
  flappy bird游戏的数据流程如图2所示。
  玩家打开游戏,点击相应位置后开始游玩,游戏全程只需要点击鼠标。一旦进入游戏,就对游戏资源初始化,之后小鸟会往下掉落。然后判断小鸟是否与水管相撞或者是落地,如果未相撞则获得相应的分数奖励并继续往下掉落。如果相撞,则游戏结束。
  4 核心功能模块的设计
  该款游戏具有以下3种特性:稳定性,即游戏进行时不会出现故障;可维护性,即在不破坏玩家数据的前提下进行维护修复程序BUG;扩展性,即在原有基础上有添加更多的内容,使游戏焕发出新的生命力。下面,我就详细介绍一下游戏中核心功能模块的实现。
  4.1 界面设计
  通过Swing工具包完成面板的整体布局。利用JFrame作为大的容器,在窗体里设置三个JPanel面板,分别作为开始界面,游戏界面和游戏结束界面,在相应时刻设置面板是否可见。
  创建一个MyPanel类继承于JPanel类,对Jpanel类中的paintComponent ()方法進行重写,以便程序在绘制不断向左滚动的背景时,MyPanel线程调用repaint()方法时能实现背景移动和小鸟扑腾翅膀的效果。
  4.2 动画设计
  动画设计里包括小鸟扑腾翅膀的动态效果、友好的人机交互、背景图片的滚动以及水管的随机高度。
  为了实现友好的人机交互,需要通过java中的事件处理技术实现点击按钮的反应。当单击单人模式选项时,会产生一个ActionEvent事件,或者在游戏正式开始时,只要玩家触碰键盘上的方向键,就会产生一个KeyEvent事件,之后Java虚拟机(JVM)检测项目中与该选项或方向键对应的事件处理器是否存在,事件处理器实质是一个方法,如mouseClicked ()方法。JVM通过传递过来的 MouseEvent或者keyEvent对象,获得事件发生时与该事件及事件源相关联的信息。
其他文献
随着互联网与信息技术的发展,多媒体信息技术开始不断被应用于教学中.在小学语文课堂中融入信息技术,有利于提高教学效率,促进素质教育的全面实施.本文从现代信息技术应用于
请下载后查看,本文暂不支持在线获取查看简介。 Please download to view, this article does not support online access to view profile.
采用激光加工机对45钢表面进行不同扫描速度下的相变硬化处理,采用金相显微镜观察组织形貌,用硬度计、摩擦磨损测量仪进行力学性能测试.结果表明:改性层微观组织由表层至基体
党的建设是经济工作取得成就的重要保证。近年来,珲春党建工作紧紧围绕发展主题发力,经济实现了大提速。去年,全市GDP、工业总产值、财政收入、外贸进出口总额分别同比增长17
笔者结合课堂体会阐述了改善中职法律课堂的三方面的教学策略.理念上要体现体现法律课的重要性、要选用先进的教材;情感上要和谐师生关系,要尊重学生个体;教学和评价方法都需
针对工件表面的粗糙度对其使用起着至关重要的影响,对40Cr材料进行电子束正交实验并检测其粗糙度。结果表明:电子束参数对材料表面的粗糙度影响较大,参数不同,材料表面的粗糙
采用CO2激光器在60CrMnMo钢表面进行激光陶瓷合金化,保持激光功率、搭接率不变,研究了扫描速度和预涂层厚度对合金化层的组织与硬度的影响。利用OM、SEM、显微硬度计对激光合
羽毛球教学是高校体育教学中的重要内容,做好对其教学现状分析,能够帮助我们找到教学问题,并有益于找出教学问题的解决路径,为提高高校羽毛球教学效果带来帮助.文章先对高校
在新媒体迅猛发展的今天,科学、高效的舆情管理在高校治理体系和治理能力现代化建设中显得尤为重要.本文阐述了高校网络舆情的内容,分析了其特点,提出了引导路径.
建筑CAD是中职院校建筑专业的一门基础性课程,于2011年成为中职建筑工程施工专业技能大赛的比赛项目.本文拟通过分析当前建筑CAD课程教学的现状和存在问题,讨论结合技能竞赛