版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于U3D的坦克大战游戏的设计与实现摘要:当今社会的科技水平和经济水平在迅速发展着,游戏行业也以惊人的速度发展着。现在的游戏行业可以说已经占据了整个经济市场举足轻重的位置,同时也直接催生了电子竞技的诞生。电子游戏便成了人们休闲生活的又一重要方式。虽然每年出现的游戏作品有很多,但足够优秀强大的游戏作品却很稀缺。而Unity3D这款游戏引擎十分强大,只要有很好创意自己做一个游戏也是完全有可能的,所以学好这款软件也有重要的意义程彬彬,王明鑫,商楠.浅谈游戏开发平台Unity3D的应用与发展前景[J].通讯世界,2016(14):236.。程彬彬,王明鑫,商楠.浅谈游戏开发平台Unity3D的应用与发展前景[J].通讯世界,2016(14):236.在如今科技发达的社会下,自己动手做一个自己喜爱的游戏已经不是遥不可及的一个梦了。通过这次设计设计一个2D的坦克大战游戏来对Unity3D有一个基本且全面的认识,在认识到Unity3D这款游戏引擎的强大之处的同时,还可以大开脑洞让自己亲自动手开发一款特别的游戏。Unity3D支持多个平台的移植,也可以方便导入各方面的插件,同时在程序移植的问题上也不会有很大的问题。此次坦克大战游戏主要分为UI设计、物理仿真、脚本控制等模块亚当斯.游戏设计基础[M].北京:机械工业出版社,2009.。UI设计需要先完成各种所需材料的建模模型,可以直接导入在外面画好的模型文件,直接拖动操作即可完成导入,在整个设计中基本都是可以通过拖动操作实时完成画面设计,这种方式极大提高了开发效率,同时设计过程中也非常直观地看到自己的进程马晓萍,刘静.基于Unity3D的坦克大战游戏设计与实现[J].数字技术与应用,2017(06):168+171。物理仿真需要考虑物体之间的穿模问题和子弹碰撞问题,需要为各个模型添加一个碰撞器,需要使用BoxColliDer2D的插件吴亚峰 于复兴.Unity3D游戏开发技术详解与典型案例[M].北京:人民邮电出版社,2012.。同时也需要在经常移动的模型上加上刚体,需要使用Rigidbody2D的插件,这样才能触发碰撞效果。脚本控制使用C#的编程语言,C#由C和C++衍生出来的面向对象的编程语言,它安全,稳定,简单,它在继承C和C++强大的功能的同时去掉了一些它们复杂的特性,所以也极大提高了开发者的脚本编程速度李兰友杨晓光.VisualC#.NET程序设计[M]. 北京:清华大学出版社,2004.5.。目前我所使用的Unity3D的版本是2019.2.17f1(64-bit亚当斯.游戏设计基础[M].北京:机械工业出版社,2009.马晓萍,刘静.基于Unity3D的坦克大战游戏设计与实现[J].数字技术与应用,2017(06):168+171吴亚峰 于复兴.Unity3D游戏开发技术详解与典型案例[M].北京:人民邮电出版社,2012.李兰友杨晓光.VisualC#.NET程序设计[M]. 北京:清华大学出版社,2004.5.坦克大战的实现将为其他有这方面意向的人打开新世界的大门,让他们也可以了解到这款游戏引擎的强大之处的同时也可以引发自己动手作游戏的念头,虽然这只是一款小游戏,但涉及的技术点也较为广泛,在可以引新手入门的同时也可以为有同样的问题提供参考。关键词:Unity3D,C#,游戏引擎,坦克大战游戏
DesignandimplementationoftankbattlegamebasedonU3DAbstract:Nowadays,theleveloftechnologyandeconomyisdevelopingrapidly,andthegameindustryisdevelopingatanamazingspeed.Nowthegameindustrycanbesaidtohaveoccupiedapivotalpositioninthewholeeconomicmarket,andalsodirectlygavebirthtothebirthofE-sports.Videogameshavebecomeanotherimportantwayofpeople'sleisurelife.Althoughtherearemanygameworksappearingeveryyear,therearefewexcellentones.Andunity3disaverypowerfulgameengine.It'spossibletomakeagamebyyourselfaslongasyouhavegoodideas.Soit'salsoofgreatsignificancetolearnthissoftwarewell.Intoday'stechnologicallyadvancedsociety,it'snotanunreachabledreamtomakeafavoritegamebyyourself.Throughthisdesignanddesignofa2Dtankwargame,wecanhaveabasicandcomprehensiveunderstandingofunity3d.Whilerecognizingthepowerofunity3dgameengine,wecanalsoopenabigbrainholetodevelopaspecialgamebyourselves.Unity3dsupportsthemigrationofmultipleplatforms,anditisalsoconvenienttoimportvariousplug-ins.Atthesametime,thereisnobigprobleminthemigrationofprograms.ThetankwargameismainlydividedintoUIdesign,physicalsimulation,scriptcontrolandothermodules.TheUIdesignneedstocompletethemodelingmodelofvariousmaterialsfirst,whichcanbedirectlyimportedintothemodelfiledrawnoutside,andcanbedirectlyimportedbydraggingoperation.Inthewholedesign,itcanbasicallycompletethereal-timepicturedesignbydraggingoperation,whichgreatlyimprovesthedevelopmentefficiency,andatthesametime,itcanalsoseeitsownprocessveryintuitively.Physicalsimulationneedstoconsidertheproblemofmodelpiercingandbulletcollisionbetweenobjects.ItneedstoaddacolliderforeachmodelanduseBoxcollider2Dplug-in.Atthesametime,weneedtoaddrigidbodiestothemodelthatoftenmoves.Weneedtousetheplug-inofRigidbody2Dtotriggerthecollisioneffect.ScriptcontrolusesCාprogramminglanguage.Cාisanobject-orientedprogramminglanguagederivedfromCandC++,whichissafe,stableandsimple.ItinheritsthepowerfulfunctionsofCandC++,andremovessomeoftheircomplexfeatures,soitalsogreatlyimprovesthescriptprogrammingspeedofdevelopers.Thecurrentversionofunity3dIuseis2019.2.17f1(64bit).Therealizationoftankwarwillopenthedoorofthenewworldforotherpeoplewiththisintention,sothattheycanalsounderstandthepowerofthisgameengineandtriggertheideaofmakinggamesbythemselves.Althoughthisisonlyasmallgame,itinvolvesawiderangeoftechnicalpoints,whichcanguidenovicestothesameproblemsaswellasprovidereferences.Keywords:Unity3D,C#,Gameengine,Tankbattlegame目录第1章绪论 第1章绪论1.1游戏的开发背景及意义近几年来,全世界的经济水平的正在快速发展,同样的科技水平也不甘落后,也使得游戏行业也正在不断地蓬勃发展。现在的游戏行业和电影行业可以说已经同等重要了,人们的生活中到处充斥着各种游戏用语的声音,无论是手游还是端游又或者网游都有着大量的玩家,这成了人们休闲生活的又一重要方式。特别是游戏开发技术的进步使得现在大部分游戏作品画面越来越精美,游戏本身的趣味性也越来越高了,现在的优秀作品的游戏已经是人们的日常生活消遣娱乐的不二选择。在2019年,中国游戏产业取得了一个令人骄傲的成绩。2019年中在海南海口召开的2019中国游戏产业年会上,中国音像与数字出版协会游戏出版工作委员会发布的《2019年中国游戏产业报告》中国音像与数字出版协会游戏出版工作委员.2019年中国游戏产业报告[R].2019.(以下简称《报告》)显示,2019年,中国游戏产业实际营销收入为2308.8亿元,同比增长7.7%;其中自主研发游戏的营销收入为1895.1亿元,同比增长15.3%;国产游戏“走出去”继续保持较快增长,海外市场营销收入为115.9亿美元,同比增长21%,《报告》显示,国内游戏企业通过深耕自主研发,探索新的发展模式和途径取得较快增长。2019年,中国自主研发游戏在国内市场实际销售收入已达到1895.1亿元,同比增加251.2亿元,增长率15.3%。中国自主研发游戏海外市场实际销售收入115.9亿美元,同比增长21%,增速高于国内市场。在海外市场实际销售收入地区分布中,美国的收入占比达到30.9%,日本的收入占比达到22.4%,韩国收入占比为14.3%,3个地区合计占比达到67.6%,数据表明,美国已成为中国游戏企业出海的重要目标市场。中国音像与数字出版协会游戏出版工作委员.2019年中国游戏产业报告[R].2019.经济市场中增长速度最快的产业已经是非游戏产业莫属了,游戏产业在现在已经成为了人们关注的热点。其中游戏是属于文化创意产业的其中一员,而创意经济又是知识经济的核心所在,更是其经济的重要表现形式,如果没有创意,那么也将就没有新经济。游戏设计是文化艺术创意和商品生产的结合,游戏产业的发展在中国的经济发展具有十分重要的意义孙煦东.游戏改变教育?[N].中国教师报,2015-03-04(003).:孙煦东.游戏改变教育?[N].中国教师报,2015-03-04(003).1.有助于保护中华民族的传统文化和传统的价值观,以防文化侵蚀;2.使得创意产业能高速发展,大大提高我国经济领域的发展速度;3.提供趣味性高质量好的大众娱乐方式,极大提升消费者的休闲体验感受。在科学技术如此发达的今天,游戏引擎受到的关注也持续高涨,目前主要的引擎有BigWorld引擎、UnrealEngine3虚幻引擎、Gamebryo引擎、Unity3D引擎,Unity3D是最近几年才流行起来,但它由于完美的跨平台系统使他迅速的在引擎市场占据了重要的地位曲鹏翔.游戏引擎在游戏开发中的应用分析[J].卫星电视与宽带多媒体,2019(23):16+18.。通过这次毕业设计在这里将介绍一款以Unity3D为开发平台,以C#为主要开发语言的坦克大战游戏。在早些年间,坦克大战游戏是一款曾经非常受欢迎的电视游戏机和掌上游戏机的游戏,在我的童年记忆里,我也时常用着小霸王牌的电视游戏机和我的小伙伴们一起玩这款游戏,它虽然表面看起来很简单,但却能让我们玩的不亦乐乎,令人着魔。如今回看过去,坦克大战最早还是出现在FC机上,它游戏规则简单,容易上手,使用户能感受到该游戏带来的乐趣,该游戏在保证运行效果的同时,具有设备要求低,跨平台性能好,运行流畅稳定的特点马晓萍,刘静.基于Unity3D的坦克大战游戏设计与实现[J].数字技术与应用,2017(06):168+171.。这次的设计以一个简单的坦克大战游戏为例,并且加以实现,在这个过程中里面涵盖了Unity3D涉及到的一些基本技术,能基本了解这个领域的底层技术并熟练掌握Unity3D游戏引擎的使用。曲鹏翔.游戏引擎在游戏开发中的应用分析[J].卫星电视与宽带多媒体,2019(23):16+18.马晓萍,刘静.基于Unity3D的坦克大战游戏设计与实现[J].数字技术与应用,2017(06):168+171.1.2国内外研究现状在早些年间Unity3D的创始人最先开始的是在2004年创立的是一个叫OvertheEdgeEntertainment的公司,后来他在Mac上开发了一款名叫GooBall的游戏之后,他们便知道到了他们所用到的工具所隐藏的巨大价值,所以在2005年他们开始转向做游戏引擎,这样Unity1.0就诞生了。他们是在AppleInc.'sWorldwideDevelopersConference的大会上第一次发表的,是作为Mac端的扩展工具Unity发布,随后的Unity就开始支持在Windows平台使用了。Unity3D的各版本的发布日志可以看出,他们每个版本都做了哪些更新,新添了哪些功能等,其实通过它们的更新日志可以看出来最初期那些版本都是一个非常低端的东西。也可以看出来他们前期的调试和各种API的改变,所以并不见得比两年前的战火引擎强大,但到了2006年的时候,由于技术的不断成熟他们荣获了AppleDesignAwards的BestUseofMacOSXGraphics奖项。此时的他们还是个PC游戏的开发工具。就在2007年,iphone第一代发布了!此时放眼望去,居然只有Unity支持iphone,随后的一段长的时间里,在那个时候开发iOS游戏的工具只有也仅有是Unity。2008年,Unity3D的公司名称正式更名为UnityTechnologies,之后Unity3D被广泛应用着宣雨松.Unity3D游戏开发[M].北京:人民邮电出版社,2012.。宣雨松.Unity3D游戏开发[M].北京:人民邮电出版社,2012.时至今日,虽然国内的很多游戏公司都已经加深了对游戏引擎的了解,但是如果一些中小公司要自主开发一款游戏的话,开发过程也将会十分困难,而且得到的经济收益也不高,所以,我国的互联网公司能拥有由自家研发的游戏引擎简直少得可怜,大部分公司还是继续使用着外国优秀的游戏引擎。虽然这两年来国内还是会有一些比较优秀的游戏作品出现,但如果和国外的游戏大作相比较,还是会有一定的距离。而现在国内很大一部分的游戏公司还是以代理国外优秀游戏为主,也从而导致了资金外流,不仅如此,我国优秀的本土传统文化也会慢慢的缺失。随着移动硬件设备的日益强大,移动平台上的游戏也出现了惊人的增长。而移动领域存在诸多系统,常用的有Android,WindowsMobile,iOS等,而在各个平台上的移植和实现对于开发商来说是不经济的,然而目前国外优秀的成熟引擎已经成功的解决了这类问题,其中Unity3D在众多游戏引擎中最突出,Unity3D中使用虚拟机技术使游戏编译结果独立于平台执行LamWingManWynne,LiuXingyi.Doesdataportabilityfacilitateentry?[J].InternationalJournalofIndustrialOrganization,2020,69(C).。因此如果有人有做游戏开发这方面工作的意向的,或者只想单纯想自己做游戏来玩的,来熟练理解和掌握这些引擎的使用也会有十分大的好处。LamWingManWynne,LiuXingyi.Doesdataportabilityfacilitateentry?[J].InternationalJournalofIndustrialOrganization,2020,69(C).1.3游戏的主要研究内容本次游戏设计主要分为游戏主菜单界面、游戏界面和游戏帮助界面这三大界面组成。游戏设计开始之前也需要先准备好游戏所需要用到的的素材,比如坦克模型,障碍物,子弹的模型,各种图片的设计和游戏里的各种音效等。游戏主菜单界面:是游戏最开始进入的界面,打开游戏成功后,可以在此界面选择游戏的模式,其中有单人模式,自己一个为主角来进行游戏,同时可以选择双人模式,两个人可以操控各自坦克来进行游戏。同时也可以选择游戏帮助来快速了解本游戏的玩法。游戏界面:是游戏的主界面,玩家在这个界面进行游戏,这里包含关于敌人包括的AI的编写,敌人的随机出生地方,敌人中弹判断等。还有主角的控制逻辑的编写,主角出生地,主角中弹判断和大本营中弹判断等。游戏帮助界面:显示文本介绍本游戏的基本玩法,游戏的基本规则说明,单人模式的主角控制按键和双人模式的双主角控制按键的说明等。1.4游戏开发环境与开发工具本次设计基本在Unity3D上进行开发,Unity3D是一个可以让任何人实现制作游戏的梦想的开发工具,开发出来的游戏也能运行在PC、MacOS、PS3、XBox360、Wii、IOS、Android等平台,另外也可以利用UnityWebplayer插件来发布网页游戏,以及支持开发线上游戏,是一个比较全面整合的专业游戏引擎YucongPan.DesignandDevelopmentofCardGamesBasedonUnity3D[C].InstituteofManagementScienceandIndustrialEngineering.Proceedingsof20192ndInternationalConferenceonMechanicalEngineering,IndustrialMaterialsandIndustrialElectronics(MEIMIE2019).InstituteofManagementScienceandIndustrialEngineering。Unity3D提供了简单容易看懂的操作界面,可以使开发者一边开发一边通过界面实时看到自己目前制作的结果。而且也支持PhysX物理引擎、粒子系统等,降低了开发者游戏开发的知识需求,减少了游戏开发所需的时间和制作成本R.Andaru,B.K.Cahyono,G.Riyadi,etal.THECOMBINATIONOFTERRESTRIALLIDARANDUAVPHOTOGRAMMETRYFORINTERACTIVEARCHITECTURALHERITAGEVISUALIZATIONUSINGUNITY3DGAMEENGINE.2019,XLII-2/W17:39-44.。编写脚本全程用C#语言即可,而我这次的设计所用到的编译软件是用MicrosoftVisualStudioYucongPan.DesignandDevelopmentofCardGamesBasedonUnity3D[C].InstituteofManagementScienceandIndustrialEngineering.Proceedingsof20192ndInternationalConferenceonMechanicalEngineering,IndustrialMaterialsandIndustrialElectronics(MEIMIE2019).InstituteofManagementScienceandIndustrialEngineeringR.Andaru,B.K.Cahyono,G.Riyadi,etal.THECOMBINATIONOFTERRESTRIALLIDARANDUAVPHOTOGRAMMETRYFORINTERACTIVEARCHITECTURALHERITAGEVISUALIZATIONUSINGUNITY3DGAMEENGINE.2019,XLII-2/W17:39-44.其中Unity3D软件有以下几点特点XiaolingShu.DesignandResearchofVirtualExperimentSystemforNetworkAttackandDefenseBasedonUnity3D[C].InformationEngineeringResearchInstitute,USA、XiaolingShu.DesignandResearchofVirtualExperimentSystemforNetworkAttackandDefenseBasedonUnity3D[C].InformationEngineeringResearchInstitute,USA、AsiaPacificHuman-ComputerInteractionResearchCenter,HongKong.Proceedingsof20184thInternationalConferenceonMechatronicSystemsandMaterialsApplication(ICMSMA2018).InformationEngineeringResearchInstitute,USA、AsiaPacificHuman-ComputerInteractionResearchCenter,HongKong资源导入:Unity支持所有主要文件格式,并能和大部分相关应用程序协同工作。综合编辑:在游戏的开发过程中,可以整体对每一个界面进行编辑,节约了一个个打开每个界面的时间,并且程序可以在界面中共享,提高了整体的效率。平台发布多样性:Unity可以在多个平台上展现自己的作品,利用BuildSetting功能,可以选择不同的平台发布自己的作品。音效和视频:实时三维图形混合音频流和视频流。脚本:Unity支持3种脚本语言,其中有JavaScript,C#,Boo。而这次的坦克游戏的脚本主要用C#语言。Unityhub:Unityhub是一个包含了大部分Unity3D各种版本的下载器。拖动操作:Unity3D软件中大部分的操作都可用拖动操作来实现,开发效率能大大提高。
第2章游戏需求分析2.1可行性分析2.1.1经济可行性基于U3D坦克大战的设计与实现是本人的毕业设计,从整个系统的设计到开发都由本人自己完成,本人在开发的过程不需要付费服务,Unity3D这款软件也是免费开放给学习者免费学习,完全实现了零经费输出。在整个游戏开发完成并使用之后,玩家也可以直接下载程序包直接开始进行游戏,而游戏无论是下载游戏前还是下载游戏后,都不需要花费玩家一分钱,可以直接打开游戏就可以直接全程免费体验。2.1.2技术可行性该游戏为本人的毕业设计,而本人已基本了解程序开发流程和U3D的基本用法,已经具备开发一个难度不大的游戏的技术。此游戏使用的开发工具为Unity3D,大部分操作将在该软件上完成。另外需要采用C#语言编写脚本,而编译工具为MicrosoftVisualStudio2012。2.1.3操作可行性在U3D上开发的程序可以直接windows系统下打开,里面简明整洁的UI、易于操作的方式和无限的娱乐性是U3D坦克大战的优点。不管玩家曾经是否有接触过其他游戏的经历,完全上手这款游戏也完全不是问题。由此可见,操作方式和操作过程不会限制U3D坦克大战游戏。2.2游戏的总体需求这款坦克大战游戏是需要有三个界面:游戏主菜单界面、游戏界面和游戏帮助界面。游戏主菜单界面是玩家最开始所在的一个界面,可以让玩家选择开始游戏或者查看游戏帮助。游戏界面是玩家开始游戏后的界面,以供玩家在这个界面游戏,这里需要有地图,玩家坦克和敌方坦克,还有需要添加各种脚本用以实现游戏。游戏帮助界面是为了让玩家可以对这款游戏有一给详细的了解,使玩家能快速上手这款游戏。2.3游戏的业务需求以下是对坦克大战游戏的整体业务需求分析,如图2-1坦克大战游戏流程图。图2-1坦克大战游戏流程图玩家在打开游戏后将直接进入游戏的主菜单界面,其中上面有显示游戏名称。下方有可以供玩家进行选择的三个选项,其中分别有:游戏帮助,单人模式,双人模式。其中选择游戏帮助的按钮可以弹出一个窗口,里面有记载了关于本游戏的基本控制按键和游戏规则的说明。另外还有两种开始游戏的方式,因为本游戏有两种游戏模式,第一种是单人模式,只能由一个玩家进行游戏,其余的都是敌人。而第二种是双人模式,可以由两名玩家进行游戏,两名玩家分别控制不同的坦克进行游戏。选择任意游戏模式将直接开始游戏进入游戏界面,此时游戏已经开始,玩家需要打倒其他敌方坦克来保护自己的大本营,游戏右方也会显示击倒敌方坦克的数量。如果大本营被破环,游戏将结束。也将会自动返回游戏主菜单界面。2.4游戏功能的需求分析这款坦克大战游戏主要分成三个部分,其中有游戏主菜单界面,游戏界面和游戏帮助界面。游戏主菜单界面:主要两种游戏模式并开始游戏的方法有单人模式和双人模式,也可以选择游戏帮助。游戏界面:主要包括单人进行游戏和双人同时一起控制坦克进行游戏。游戏帮助界面:主要用来显示游戏基本操作方法和游戏的规则。如图2-2坦克大战游戏功能模块图。图2-2坦克大战游戏功能模块图2.4.1坦克大战游戏功能分析1.游戏主菜单界面:游戏开始:玩家可以在这个界面选择游戏模式,选择完成后可以直接跳到游戏界面直接开始游戏。游戏帮助打开:玩家在第一次玩这款游戏时可以在这个界面选择游戏帮助来直接打开游戏帮助界面,便可以快速了解这款游戏基本操作和游戏规则。2.游戏界面:(1)单人模式:玩家在选择单人模式时游戏只限有一名玩家进行游戏,此时只有一辆坦克孤军奋战保护大本营。(2)双人模式:玩家在选择双人模式时游戏可以有两名玩家同时控制两辆坦克 进行协同作战,共同保护大本营。(3)玩家的移动和攻击:编写用键盘所对应的键位控制玩家坦克的移动的脚本,编写玩家控制坦克攻击的脚本。(4)敌方坦克的AI:编写敌方坦克自动运动和攻击的脚本。(5)子弹:编写子弹飞行方向和飞行速度的脚本,以及与碰撞的物体的识别。3.游戏帮助界面:(1)游戏介绍:显示写有游戏的基本操作和游戏规则的窗口。2.5UML系统建模统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言,UML因其简单、统一的特点,而且能表达软件设计中的动态和度静态信息,目前已成为可视化建模语言的工业标准MertOzkaya.AretheUMLmodellingtoolspowerfulenoughforpractitioners?Aliteraturereview.2019,13(5):338-354.。MertOzkaya.AretheUMLmodellingtoolspowerfulenoughforpractitioners?Aliteraturereview.2019,13(5):338-3用例图坦克大战游戏用例图如图2-3坦克大战游戏用例图。图2-3坦克大战游戏用例图2.5.2用例图规约表玩家的用例规约表:表2-1游戏帮助查看用例规约表用例编号2-1用例名称游戏帮助查看功能描述当玩家成功打开游戏后,可以选择查看游戏帮助,用以快速了解游戏的基本控制的键位和游戏规则。执行者玩家前置条件坦克大战游戏正常运行。后置条件返回主菜单界面涉众利益玩家基本路径1.游戏打开成功后,选择查看游戏帮助。2.游戏帮助打开成功后,显示内容。扩展如果查看结束后可以直接选择返回,将返回到游戏主菜单界面。字段列表选项名称,游戏介绍。业务规则不能修改里面的内容。备注无表2-2单人游戏用例规约表用例编号2-2用例名称单人游戏功能描述玩家成功打开游戏后可以选择单人模式直接开始游戏,此时将只能由一名玩家进行游戏。执行者玩家前置条件坦克大战游戏正常运行后置条件返回主菜单界面涉众利益玩家基本路径1.在游戏主菜单界面选择单人模式2.开始单人模式游戏扩展游戏结束后将直接返回游戏主菜单界面。字段列表选项名称,击倒敌方坦克的数量。续表2-2业务规则大本营被敌方坦克或者玩家坦克破环后游戏将结束,并返回游戏主菜单界面。备注无表2-3双人游戏用例规约表用例编号2-3用例名称双人游戏功能描述玩家成功打开游戏后也可以选择双人模式直接开始游戏,此时将可以由两名玩家同时控制不同的坦克进行协同作战游戏。执行者玩家前置条件坦克大战游戏正常运行后置条件返回主菜单界面涉众利益玩家基本路径1.在游戏主菜单界面选择双人模式2.开始双人模式游戏扩展双人模式下也可以只有一名玩家进行游戏,第二辆坦克不做控制也不受影响。字段列表选项名称,击倒敌方坦克的数量。业务规则大本营被敌方坦克或者玩家坦克破环后游戏将结束,并返回游戏主菜单界面。备注无表2-4游戏分数查看用例规约表用例编号2-4用例名称游戏分数查看功能描述玩家在游戏进行中可以实时查看到自己所击倒敌方坦克的数量。执行者玩家前置条件坦克大战游戏正常运行,而且游戏已经开始。后置条件返回主菜单界面涉众利益玩家续表2-4基本路径在游戏主菜单界面下选择开始游戏(即选择单人模式或选择双人模式,游戏将直接开始)。游戏界面右方显示击倒敌方坦克的数量。扩展无字段列表选项名称,击倒敌方坦克的数量。业务规则无备注无表2-5玩家坦克的移动用例规约表用例编号2-5用例名称玩家坦克的移动功能描述游戏开始时玩家可以控制自己的坦克在地图里自由移动。执行者玩家前置条件坦克大战游戏正常运行,而且游戏已经开始。后置条件读取玩家所在位置。涉众利益玩家基本路径1.在游戏主菜单界面下选择开始游戏(即选择单人模式或选择双人模式,游戏将直接开始)。2.控制坦克移动1.1玩家按下W键,坦克向上移动。1.2玩家按下S键,坦克向下移动。1.3玩家按下A键,坦克向左移动。1.4玩家按下D键,坦克向右移动。扩展在地图内可自由移动。字段列表键位,击倒敌方坦克的数量。业务规则1.不能移动出地图外。2.碰撞到障碍物时不能移动备注无表2-6玩家坦克的攻击用例规约表用例编号2-6用例名称玩家坦克的攻击续表2-6功能描述玩家坦克按下空格键可以随时随地发动攻击。执行者玩家前置条件坦克大战游戏正常运行,而且游戏已经开始。后置条件子弹碰撞识别涉众利益玩家基本路径1.在游戏主菜单界面下选择开始游戏(即选择单人模式或选择双人模式,游戏将直接开始)。2.玩家按下空格键使坦克进行攻击。扩展1.攻击墙体障碍物可以使其破坏消失。2.比如草,水等障碍物,子弹的攻击是可以穿过。3.可以攻击自己的大本营,但游戏也会因此游戏失败字段列表键位,击倒敌方坦克的数量。业务规则1.每次攻击由一定的时间间隔。2.攻击出来的子弹也有一定的飞行速度。备注无2.6本章小结本章首先主要对坦克大战游戏各方面的可行性进行了分析,接下来对坦克大战游戏的业务需求进行详细分析并且用业务流程图分别展示了坦克大战游戏的业务流程;通过功能模块图展示了坦克大战游戏的功能需求;最后,为了更加直观地向玩家展示坦克大战游戏的各种功能,给出了用例图并对各个用例用表格更加详细地对坦克大战游戏进行简单明了的说明。
第3章游戏设计因为这款坦克大战游戏是由游戏主菜单界面,游戏界面和游戏帮助界面这三个界面共同组成的,所以下面将分开三个界面进行设计和实现。3.1游戏主菜单界面3.1.1游戏主菜单界面的设计场景的搭建:首先需要创建并命名好第一个场景当作游戏主菜单界面,设计好主摄像机,设置好摄像机高度,游戏的背景色调和地图比例等,我这里是选择16:10的比例。如图3-1游戏主菜单界面的场景。如图3-1游戏主菜单界面的场景UI设计:在Hierarchy面板按下鼠标右键选择创建UI_Image组件,此时将创建好一个UI图片,该软件也会自动生成UI设计所需要的两个组件:Canvas和EventSystem,在调整好图片在场景中的比例大小后,就可以Inspector面板里把事先准备好的图片素材拉入到创建的Image组件Script插件的SourceImage里。另外创建三个空的游戏物体,用来作为指针选择的移动。设计完成后如图3-2UI设计。图3-2UI设计3.坦克指针脚本的编写:为了实现指针的移动和实现场景的跳转,需要为坦克指针添加一个脚本。其中使用Input.GetKeyDown()函数监听玩家的键盘的输入,同时记录按下的键位的次数以此来实现坦克指针到底跳转到哪一个空的物体上。而使用SceneManager.LoadScene()函数来实现场景之间的跳转。如图3-3实现指针跳转的方法。图3-3实现指针跳转的方法这里需要注意的是,这里需要引用到创建好的三个空物体,所以需要在Inspector面板里的Scirpt的插件里拉入实体以供引用,不然软件将会报错,下面的其他游戏界面的开发大部分引用都是如此。如图3-4引用物体图3-4引用物体3.2游戏界面3.2.1游戏素材的导入,处理和场景的搭建游戏场景的搭建:首先需要创建并命名好第二个场景,同时设计好主摄像机,设置好摄像机高度,游戏的背景色调和地图比例等,我这里是选择5:4的比例,这样看起来也会比较舒服,而且两边空余的部分也可以用来显示生命值和得分。如图3-5游戏场景。图3-5游戏场景的搭建2.素材处理:把准备好的游戏所需要的素材图片,使用拖动操作将准备好的素材拖入到已经创建好了的工程里,并在Inspector面板里设置好它们的长宽高的值。然后把需要的素材拉到创建的场景里面,此时Hierarchy面板会自动生成它们相对应的克隆体。同时可以使用多张图片制作2D动画,使游戏看起来更加生动。如图3-6游戏素材处理。图3-6游戏素材处理1.添加碰撞器:草丛是可以穿过也可以在里面隐藏,所以草丛不需要碰撞器,其他素材需要发生碰撞,所以需要添加一个Boxcollider2D的碰撞器,为了成功碰撞还需要在移动的一方添加一个Rigidboby2D的刚体,这样才能实现碰撞效果。如图3-7添加碰撞器。图3-7添加碰撞器2.2D渲染层级设置:当两种元素重合在一起时需要考虑谁应该覆盖谁的问题,障碍物是因为加了碰撞器的缘故是不能进行交互穿插的,所以它们和坦克可以是同层级,但草丛是可以穿过并可以隐藏的,所以层级是比坦克高的。而无敌光环特效是在坦克底下显示的,所以层级是比坦克低的。层级设置在Inspector面板里SpriteRenderer插件下的orderinlayer选项里设置数值,设置的数值越大,层级越高,越不会被覆盖。设置完成后结果如图3.82D渲染层级设置。图3.82D渲染层级设置3.2.2玩家坦克的设计坦克的移动:此时需要为玩家的坦克添加一个脚本并打开编辑,使用的开发语言是C#,本人是用MicrosoftVisualStudio2012上进行脚本编写和编译。在控制左右上下移动时需要添加两个监听器:floath=Input.GetAxisRaw("Horizontal")(监听玩家输入的按键是使坦克垂直方向移动的监听器)和floatv=Input.GetAxisRaw("Vertical")(监听玩家输入的按键是使坦克垂直方向移动的监听器),而且监听到了键盘输入之后需要坦克进行移动,这是需要用到transform.Translate()函数。同时需要控制坦克移动时坦克的朝向,此时需要用到精灵渲染器(SpriteRenderer),使坦克方向转变时图片也能跟着切换,还需要添加一个移动优先级,这样可以防止坦克斜向运动。如图3-9玩家坦克的移动 图3-9坦克的移动坦克的攻击:打开脚本编写攻击方法,使用Input.GetKeyDown(KeyCode.Space)函数可以把坦克攻击键位设为空格键。同时需要有子弹产生,所以要引用子弹的预制体:publicGameObjectbullectPrefab;为了能产生实体的子弹,需要使用函数:Instantiate(bullectPrefab,transform.position,Quaternion.Euler(transform.eulerAngles+bullectEulerAngles))。其中该函数最后一个的参数是一个四元数的参数,为了让子弹发射出去后能与坦克的朝向方向一致,所以子弹产生的角度=当前坦克的角度+子弹应该旋转的角度:transform.eulerAngles+bullectEulerAngles。如图3-10坦克的攻击。图3-10坦克的攻击子弹的移动:此时需要在子弹的预制体上添加一个子弹移动的脚本,同样也使用transform.Translate()函数,初始化子弹速度可以使得子弹发出后可以沿当前方向进行移动。坦克攻击间隔:为了游戏的公平和游戏的平衡,还需要在坦克的攻击加上时间间隔,相当于就是攻击CD。每次攻击后timeVal=0,使用if语句使攻击间隔时长为0.4秒:if(timeVal>=0.4f){Attack();}else{timeVal+=Time.deltaTime;}。如图3-11坦克攻击间隔CD。图3-11坦克攻击CD子弹的触发方法:因为子弹在碰到不同的物体之后需要触发不同的方法,所以需要为子弹加入碰撞器和刚体的组件,因为此时子弹需要用到触发器,所以需要把碰撞器里的istrigger的选项勾上。因为子弹需要识别出所碰撞的物体是什么从而调用不同的方法,所以需要在Inspector面板里为各种物体加入标签,以供子弹分辨。如图3-12添加标签。图3-12添加标签然后在子弹的脚本里使用swich语句编写子弹在碰到不同物体时所调用的不同的方法。其中这里的子弹也区分为玩家的子弹和敌人的子弹,子弹在碰撞到玩家的坦克或敌方的坦克时还需要区分是玩家的子弹还是敌人的子弹,所以需要定义一个bool类型的子弹加以区分玩家的子弹和敌方的子弹。图3-13子弹触发方法的代码玩家坦克的无敌方法和死亡方法:玩家刚开始游戏时,或者复活时,身上会有一个无敌光环特效加身,且不受到任何敌人的伤害。在敌方坦克的子弹碰撞到玩家时玩家坦克将会消失,同时显示会爆炸特效。这里因为只有玩家坦克会有无敌光环,所以可以将特效拖入到玩家坦克的物体里,这样可以不用每次都需要调用光环特效,提高游戏性能。如图3-14玩家的无敌和死亡。图3-14玩家的无敌和死亡玩家坦克和敌方坦克的产生:因为双方坦克都是共同用一个特效,所以只需在出生特效里添加一个脚本里面编写产生方法即可,使用Instantiate()函数产生坦克。这里的玩家的出生特效和敌人的出生特效我用的是同一个特效,为了优化游戏,所以要区分出生特效产生的玩家还是敌人,还需添加一个bool类型的变量以供区分。如图3-15坦克的产生1,图3-16坦克的产生2。图3-15坦克的产生1图3-15坦克的产生23.2.3敌方坦克的设计敌方坦克的AI:为敌方坦克添加脚本,而敌方坦克和玩家坦克功能基本相同,所以可以直接复制并加以修改即可。首先需要删除键盘的监听函数,为其加上一个随机函数让其模仿玩家的键盘输入。如图3-17敌人移动的随机函数。图3-17敌人移动的随机函数随机生成两种敌人:为了增加游戏的趣味性,可以生成两种敌人坦克,让它们有不同的属性值,比如运动速度,攻击CD等。而在上面的写好的出生特效上为一个敌人的产生添加一个随机函数即可。如图3-18随机产生敌人1,图3-19随机产生敌人2。图3-18产生随机敌人1图3-19产生随机敌人2敌方坦克的死亡方法:当玩家子弹与敌方坦克发生碰撞后敌方坦克消失同时产生爆炸特效,也是在敌人脚本里编写一个Die()方法,使用Instantiate函数产生爆炸特效。如图3-20敌方坦克的死亡。图3-20敌方坦克的死亡3.2.4初始化地图地图的产生:在完成好前面的素材处理和脚本编写后,可以开始创建玩家游戏的地图,首先创建新的空物体用来装载创建地图的功能并为其添加脚本编写随机生成地图的函数,为了不让每次开始游戏时地图都一样,这里使用随机函数使其在地图范围内随机生成障碍物,草,墙等物体,以达到每次游戏开始时地图都不一样。同时为了不让玩家或者敌人抛出地图外,需要在地图外围生成空气墙。如图3-21地图1,图3-22地图2,每次将随机产生不同地图。图3-21地图1图3-22地图2坦克的产生:玩家敌人的产生位置和敌人的增加:使用Instantiate()函数,函数中的参数2是在地图相对的产生位置,只需设置好数值就能固定在一个点产生。如图3-23坦克的产生。图3-23坦克的产生显示得分和生命值:为了让玩家可以清楚看到自己的生命值和得分,可以在游戏两侧进行设计。所以也是需要创建UI_Image图片,同时为了显示实时的得分情况和剩余的生命值,需要新创建UI_Text文本。如图3-24显示得分和生命值。图3-24显示得分和生命值玩家状态的管理:创建一个新的空物体,添加脚本,在这里编写生命值,得分的总数和游戏输赢的判断的代码。如果玩家生命值为0的时候死亡,游戏将直接结束并返回第一个场景,而大本营被破环游戏也将直接结束并返回第一个场景。如图3-25玩家状态管理。图3-25玩家状态管理游戏结束的UI设计:为了让玩家更加直观的看到游戏已经结束,可以在游戏结束时显示一个画面,此时需要创建一个新的UI_Image,设置好图片大小,拖入准备好的结束图片即可。如图3-26游戏结束。图3-26游戏结束3.2.5添加音效1.添加音效:为了增添游戏的趣味性,需要为游戏开始时、坦克爆炸时、坦克发出子弹时、子弹碰到障碍物时和子弹摧毁大本营时等等添加相应的音效,这就需要为上面物体加上AudioSourse组件,并拖入准备好了的音频素材到该组件里AudioClip中。如图3-27添加音效。图3-27添加音效3.3游戏帮助界面1.游戏帮助界面设计:创建一个新的场景,并创建一个新的UI文本,里面显示游戏帮助的文本内容。且为文本添加一个脚本,用来设置一个返回到游戏主菜单界面的键位。如图3-28游戏帮助界面。图3-28游戏帮助界面3.4实现界面跳转为了让各个界面实现跳转,C#里有已经封装打包好的方法可以供我们直接,这时只需在开头声明引用usingUnityEngine.SceneManagement;并且使用SceneManager.LoadScene()函数即可。如图3-29实现从主菜单界面跳转到其他界面的方法。图3-29实现从主菜单界面跳转的方法3.5本章小结本章对坦克大战游戏的游戏主菜单界面,游戏界面,游戏帮助界面三个主要界面进行了详细的开发过程和步骤方法的说明,同时也会贴上对应的效果图,使其整个开发过程详细,直观。最后也会给出界面完成后的效果图。
第4章游戏总体实现4.1游戏主菜单界面的实现这是玩家在打开游戏成功后所看到的第一个界面,坦克指针最开始会停留在中间的那个选项,坦克指针所在的每一个位置对应一个选项,玩家可以通过按下键盘W和S进行上下移动,按下空格键表示确定选择。开始游戏和查看游戏帮助都可以在这个界面上进行选择,只有首先在这个界面上发出选择命令才能实现其他界面的跳转。选择单人模式:选择第一个选项,完成点击事件后,将自动从游戏主菜单界面跳转到游戏界面开始游戏。选择双人模式:选择第二个选项,完成点击事件后,将自动从游戏主菜单界面跳转到游戏界面开始游戏。选择游戏帮助:选择第三个选项,完成点击事件后,此时将直接打开游戏帮助的界面,可直接浏览游戏介绍。如图4-1游戏主菜单界面图4-1游戏主菜单界面4.2游戏界面的实现这是玩家在游戏主菜单界面完成选项选择后开始游戏所看到的一个界面,是本游戏的主体,玩家也将在这个界面进行有趣的游戏,大部分的脚本代码都在这个界面实现。在游戏结束时也能跳转回到游戏主菜单界面重新等待选择。开始单人模式游戏:此时在场上只有且仅有一辆玩家的坦克,初始生命值只为3,玩家需要以一己之力保护好大本营免遭破坏,生命值为零时游戏结束,大本营被破坏也将游戏结束,同时也需要击倒更多的敌方坦克来获得更高的分数。如图4-2单人模式游戏界面。图4-2单人模式游戏界面开始双人模式游戏:此时在场上会有了两辆不同玩家的坦克,颜色也各不相同。玩家1和玩家2可以同时进行游戏一起协力保护大本营免遭破坏,同时他们的生命值是共享的,生命值为5,生命值低于零后游戏也将直接结束。玩家双方可以一起击倒更多的敌方坦克来获得更高的分数。如图4-3双人模式游戏界面。图4-3双人模式游戏界面4.3游戏帮助界面的实现这是玩家在游戏主菜单界面完成选项选择后查看游戏帮助所看到的一个界面,里面将详细介绍了游戏的规则,玩家1和玩家2不同的键位控制。查看完成后也可以按下空格键直接返回到游戏主菜单界面。如图4-3游戏帮助界面。图4-4游戏帮助界面4.4本章小结本章主要是对坦克大战游戏的总体实现的展现,在这里可以看到每个界面的实现情况,每个界面也会配有一些文字说明,最后也能给出各个界面的截图来展现游戏最真实实现的效果。
第5章游戏测试5.1游戏测试的目的找出软件中的漏洞是系统测试的目的,游戏的漏洞可能存在于软件、功能、过程、数据和编码中,我们需要在这些方面上进行测试以找到系统的漏洞并修复。在游戏设计和实现过程中检查出来的错误和缺陷需要在系统试运行当中通过游戏测试来实现,所以这个阶段是软件开发中必不可少的部分。总而言之,测试就是发现问题并进行改进,从而提升软件产品的质量王子.3D王子.3D测试之游戏测试篇[J].大众硬件,2003(02):109-112.5.2游戏测试的意义在如今游戏泛滥的信息时代,大部分游戏作品的质量参差不齐,因此,为了杜绝低质量的游戏的蔓延,游戏测试是一个不可或缺的阶段。经过一系列的严格测试,可以找出游戏中难以发现的漏洞,有利于提高坦克大战的软件质量,使用户的体验感更加好,第一印象很重要,能体现出开发人员的诚意,可以给广大玩家留下一个好的最初印象,也有利于游戏的推广。5.3测试用例及结果坦克大战游戏测试分为游戏主菜单界面测试、游戏界面测试和游戏帮助界面测试。表5-1游戏主菜单界面测试用例及结果用例编号用例名称测试目的测试结果A-1TestPointer测试界面里的指针指向会不会出现混乱无论玩家按下多少次W和S键都不会出现混乱A-2TestOption测试确定选项后是否发生界面跳转玩家按下空格键后能发生界面跳转续表5-1A-3TestInterface测试跳转界面后是否正确跳转的界面正确5-2游戏界面用例及结果用例编号用例名称测试目的测试结果B-1TestMap测试每次开始游戏时是否能随机产生新地图玩家每次开始游戏后都能产生不同新地图B-2TestLocation测试玩家和敌人出生位置是否固定玩家和敌人出生位置始终不变B-3TestMove测试玩家能否控制玩家坦克移动玩家能控制玩家坦克进行移动B-4TestAttack测试玩家坦克能否正常发出子弹玩家坦克能正常发出子弹且去坦克移动方向一致B-5TestInvincible测试玩家坦克在有无敌光环的时候敌方坦克能否对其进行伤害敌方坦克的子弹打中有无敌光环的玩家坦克时并没有其他效果B-6TestResurgence测试玩家坦克生命值不为零之前能否正常复活,敌人能否正常复活玩家坦克和敌人能正常复活B-7TestScore测试玩家的得分显示是否出错玩家的得分显示没有出错B-8TestLife测试玩家的生命值显示是否出错玩家的生命值显示没有出错B-9TestBullet测试玩家子弹和敌人子弹是否出现混乱并且能否识别所碰撞到的物体玩家子弹和敌人子弹没有出现混乱并且能识别所碰撞到的物体B-10TestEffect测试特效能否显示且显示是否出错特效能正常显示且显示没有出错续表5-2B-11TestMusic测试游戏中是否发出游戏音效且没有出错游戏中能发出各种游戏音效且没有出错B-12TestCollision测试玩家坦克和敌方坦克是否能穿过障碍物、水、墙、空气墙、大本营玩家坦克和敌方坦克不能穿过障碍物、水、墙、空气墙、大本营B-13TestEnd测试玩家坦克生命值为零或大本营被破坏时游戏能否结束,且结束提示界面能否显示玩家坦克生命值为零或大本营被破坏时游戏能结束,且结束提示界面能显示B-14TestReturn测试游戏结束后能否自动返回游戏主菜单界面游戏结束后能自动返回游戏主菜单界面B-15TestModel测试双人模式是否能正常游戏双人模式能正常游戏表5-3游戏帮助界面用例及结果用例编号用例名称测试目的测试结果C-1TestHple测试游戏帮助界面能否显示且显示没有错乱游戏帮助界面能正常显示且显示没有错乱C-2TestReturn测试玩家按下空格键后能否自动返回游戏主菜单界面玩家按下空格键后能自动返回游戏主菜单界面5.4本章小结本章首先阐述了系统测试的目的以及意义,之后给出了测试用例,最后进行多次反复测试证明了坦克大战游戏的大部分功能是没有问题的。
第6章结束语6.1全文总结通过这几个月不懈的努力,基于坦克大战游戏的设计与实现到这里基本结束了。基于U3D的坦克大战游戏在界面设计上基本使用黑色作为背景色调,向用户展现了一种简洁大方。C#是这款坦克大战游戏的开发语言。而C#由C和C++衍生出来的面向对象的编程语言,它安全,稳定,简单,所以也能提高游戏开发速度。同时使用了非常优秀且简易的Unity3D的游戏引擎作为平台来进行开发,也极大提高了开发的效率。其实我选择Unity3D最主要的因素是因为这款软件的个人用户版本身是免费的,而且里面提供的功能也十分的强大和完整。目前,基于Unity3D的坦克大战游戏在这些工具的支持下基本都能运作。6.2课题展望由于受到知识量不足的条件的约束,所以基于U3D的坦克大战游戏没有更多其它的功能,如果有机会和条件,基于U3D的坦克大战游戏会适当加入更好玩的游戏模式,比如闯关模式等,或者通过网络用不同的设备不同的地点实时共同进行游戏。以此来增加本游戏的趣味性和可玩性;由于时间问题,基于U3D的坦克大战游戏的设计与实现的界面可能有点简单,后期也会优化各个界面;最后,通过这次设计我获得了很多经验,希望以后能有更多的机会去开发更多更好玩的游戏。
参考文献[1]程彬彬,王明鑫,商楠.浅谈游戏开发平台Unity3D的应用与发展前景[J].通讯世界,2016(14):236.[2]亚当斯.游戏设计基础[M].北京:机械工业出版社,2009.[3]王欣.计算机游戏设计课程实训案例库建设研究[J].计算机教育,2016,(02):110-112.[4]吴亚峰 于复兴.Unity3D游戏开发技术详解与典型案例[M].北京:人民邮电出版社,2012.[5]李兰友杨晓光.VisualC#.NET程序设计[M]. 北京:清华大学出版社,2004.5.[6]中国音像与数字出版协会游戏出版工作委员.2019年中国游戏产业报告[R].2019.[7]孙煦东.游戏改变教育?[N].中国教师报,2015-03-04(003).[8]曲鹏翔.游戏引擎在游戏开发中的应用分析[J].卫星电视与宽带多媒体,2019(23):16+18.[9]马晓萍,刘静.基于Unity3D的坦克大战游戏设计与实现[J].数字技术与应用,2017(06):168+171.[10]宣雨松.Unity3D游戏开发[M].北京:人民邮电出版社,2012.[11]LamWingManWynne,LiuXingyi.Doesdataportabilityfacilitateentry?[J].InternationalJournalofIndustrialOrganization,2020,69(C).[12]YucongPan.DesignandDevelopmentofCardGamesBasedonUnity3D[C].InstituteofManagementScienceandIndustrialEngineering.Proceedingsof20192ndInternationalConferenceonMechanicalEngineering,IndustrialMaterialsandIndustrialElectronics(MEIMIE2019).InstituteofManagementScienceandIndustrialEngineering:计算机科学与电子技术国际学会(ComputerScienceandElectronicTechnologyInternationalSociety),2019:399-406.[13]R.Andaru,B.K.Cahyono,G.Riyadi,etal.THECOMBINATIONOFTERRESTRIALLIDARANDUAVPHOTOGRAMMETRYFORINTERACTIVEARCHITECTURALHERITAGEVISUALIZATIONUSINGUNITY3DGAMEENGINE.2019,XLII-2/W17:39-44.[14]XiaolingShu.DesignandResearchofVirtualExperimentSystemforNetworkAttackandDefenseBasedonUnity3D[C].InformationEngineeringResearchInstitute,USA、AsiaPacificHuman-ComputerInteractionResearchCenter,HongKong.Proceedingsof20184thInternationalConferenceonMechatronicSystemsandMaterialsApplication(ICMSMA2018).InformationEngineeringResearchInstitute,USA、AsiaPacificHuman-ComputerInteractionResearchCenter,HongKong:智能信息技术应用学会,2018:113-118.[15]MertOzkaya.AretheUMLmodellingtoolspowerfulenoughforpractitioners?Aliteraturereview.2019,13(5):338-354.[16]王子.3D测试之游戏测试篇[J].大众硬件,2003(02):109-112.致谢写到这里,已是坦克大战游戏的设计与实现的尾声了,一个系统的设计与实现不单单是自己一个人能够完成的,还需要他人的帮助,如指导老师、在校时的其他任课老师和同学等,所以,我非常感谢他们在我做这个游戏期间有形和无形的帮助,有些他们无形的帮助或许我感觉不到,但对我有着非凡的影响。在这里我需要特别感谢梁老师了,虽然之前他没有任职过我的任课老师,但最后作为我的指导老师却能很快的认识我们这班同学且随时随地能及时无误的帮我解决我所遇到的问题,可以说他是我做坦克大战游戏的设计与实现帮助最大的人了。最后,感谢广州大学松田学院为我们提供学习的平台,感谢广大松田计算机科学与技术各个科任老师的辛勤付出。
HYPERLINK如何给电脑重做系统给电脑重做系统,自己学学,可少花钱,哈哈[图]
一、准备工作:
如何重装电脑系统
首先,在启动电脑的时候按住DELETE键进入BIOS,选择AdvancedBIOSFeatures选项,按Enter键进入设置程序。选择FirstBootDevice选项,然后按键盘上的PageUp或PageDown键将该项设置为CD-ROM,这样就可以把系统改为光盘启动。
其次,退回到主菜单,保存BIOS设置。(保存方法是按下F10,然后再按Y键即可)
1.准备好WindowsXPProfessional简体中文版安装光盘,并检查光驱是否支持自启动。
2.可能的情况下,在运行安装程序前用磁盘扫描程序扫描所有硬盘检查硬盘错误并进行修复,否则安装程序运行时如检查到有硬盘错误即会很麻烦。
3.用纸张记录安装文件的产品密匙(安装序列号)。
4.可能的情况下,用驱动程序备份工具(如:驱动精灵2004V1.9Beta.exe)将原WindowsXP下的所有驱动程序备份到硬盘上(如∶F:Drive)。最好能记下主板、网卡、显卡等主要硬件的型号及生产厂家,预先下载驱动程序备用。
5.如果你想在安装过程中格式化C盘或D盘(建议安装过程中格式化C盘),请备份C盘或D盘有用的数据。
二、用光盘启动系统:
(如果你已经知道方法请转到下一步),重新启动系统并把光驱设为第一启动盘,保存设置并重启。将XP安装光盘放入光驱,重新启动电脑。刚启动时,当出现如下图所示时快速按下回车键,否则不能启动XP系统光盘安装。如果你不知道具体做法请参考与这相同的-->如何进入纯DOS系统:
光盘自启动后,如无意外即可见到安装界面,将出现如下图1所示
查看原图
全中文提示,“要现在安装WindowsXP,请按ENTER”,按回车键后,出现如下图2所示
查看原图
许可协议,这里没有选择的余地,按“F8”后如下图3
HYPERLINK
查看原图
这里用“向下或向上”方向键选择安装系统所用的分区,如果你已格式化C盘请选择C分区,选择好分区后按“Enter”键回车,出现下图4所示
查看原图
这里对所选分区可以进行格式化,从而转换文件系统格,或保存现有文件系统,有多种选择的余地,但要注意的是NTFS格式可节约磁盘空间提高安全性和减小磁盘碎片但同时存在很多问题MacOS和98/Me下看不到NTFS格式的分区,在这里选“用FAT文件系统格式化磁盘分区(快),按“Enter”键回车,出现下图5所示
查看原图
格式化C盘的警告,按F键将准备格式化c盘,出现下图6所示
HYPERLINK
查看原图
由于所选分区C的空间大于2048M(即2G),FAT文件系统不支持大于2048M的磁盘分区,所以安装程序会用FAT32文件系统格式对C盘进行格式化,按“Enter”键回车,出现下图7所示
查看原图图7中正在格式化C分区;只有用光盘启动或安装启动软盘启动XP安装程序,才能在安装过程中提供格式化分区选项;如果用MS-DOS启动盘启动进入DOS下,运行i386\winnt进行安装XP时,安装XP时没有格式化分区选项。格式化C分区完成后,出现下图8所示
被过滤广告
查看原图
图8中开始复制文件,文件复制完后,安装程序开始初始化Windows配置。然后系统将会自动在15秒后重新启动。重新启动后,出现下图9所示
HYPERLINK
查看原图
9
查看原图
过5分钟后,当提示还需33分钟时将出现如下图10
HYPERLINK
查看原图
区域和语言设置选用默认值就可以了,直接点“下一步”按钮,出现如下图11
查看原图
这里输入你想好的姓名和单位,这里的姓名是你以后注册的用户名,点“下一步”按钮,出现如下图12
HYPERLINK
查看原图
如果你没有预先记下产品密钥(安装序列号)就大件事啦!这里输入安装序列号,点“下一步”按钮,出现如下图13
HYPERLINK
查看原图
安装程序自动为你创建又长又难看的计算机名称,自己可任意更改,输入两次系统管理员密码,请记住这个密码,Administrator系统管理员在系统中具有最高权限,平时登陆系统不需要这个帐号。接着点“下一步”出现如下图14
查看原图
日期和时间设置不用讲,选北京时间,点“下一步”出现如下图15
HYPERLINK
查看原图
开始安装,复制系统文件、安装网络系统,很快出现如下图16
查看原图
让你选择网络安装所用的方式,选典型设置点“下一步”出现如下图17
HYPERLINK
查看原图
点“下一步”出现如下图18
HYPERLINK
查看原图
继续安装,到这里后就不用你参与了,安装程序会自动完成全过程。安装完成后自动重新启动,出现启动画面,如下图19
HYPERLINK
查看原图
第一次启动需要较长时间,请耐心等候,接下来是欢迎使用画面,提示设置系统,如下图20
查看原图
点击右下角的“下一步”按钮,出现设置上网连接画面,如下图21所示
HYPERLINK
查看原图
点击右下角的“下一步”按钮,出现设置上网连接画面,如下图21所示
查看原图
这里建立的宽带拨号连接,不会在桌面上建立拨号连接快捷方式,且默认的拨号连接名称为“我的ISP”(自定义除外);进入桌面后通过连接向导建立的宽带拨号连接,在桌面上会建立拨号连接快捷方式,且默认的拨号连接名称为“宽带连接”(自定义除外)。如果你不想在这里建立宽带拨号连接,请点击“跳过”按钮。
在这里我先创建一个宽带连接,选第一项“数字用户线(ADSL)或电缆调制解调器”,点击“下一步”按钮,如下图22所示
HYPERLINK
查看原图
目前使用的电信或联通(ADSL)住宅用户都有帐号和密码的,所以我选“是,我使用用户名和密码连接”,点击“下一步”按钮,如下图23所示
查看原图
输入电信或联通提供的帐号和密码,在“你的ISP的服务名”处输入你喜欢的名称,该名称作为拨号连接快捷菜单的名称,如果留空系统会自动创建名为“我的ISP”作为该连接的名称,点击“下一步”按钮,如下图24所示
查看原图
已经建立了拨号连接,微软当然想你现在就激活XP啦,不过即使不激活也有30天的试用期,又何必急呢?选择“否,请等候几天提醒我”,点击“下一步”按钮,如下图25所示
HY
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二次电池的工作原理与分类考核试卷
- 水平衡运输与货物集送考核试卷
- 浙江省温州市洞头实验小学2023-2024学年六年级上学期期中英语试卷
- 电力安全工器具的使用考核试卷
- 建筑装饰施工安全管理考核试卷
- 盐矿开采过程中的地下水动态及调控考核试卷
- 供应链安全应急预案制定与模拟演练方案设计考核试卷
- 家用纺织品产品生命周期管理考核试卷
- 面神经课件教学课件
- 雷雨前课件教学课件
- 压力容器焊接工艺
- 托管教师备课系统(课堂PPT)
- 拐杖的使用ppt课件
- 2005年河北高考一分一档表
- 门窗工程项目特征描述情况
- 农村污水管网设计说明(共18页)
- 化工设备机械基础重点知识点
- 餐饮铺台布技能铺台布教学课件
- 小学五年级上册数学计算题
- 聚乙烯安全技术说明书
- 03汽机系统拆除施工方案
评论
0/150
提交评论