基于Unity引擎制作塔防游戏

基于Unity引擎制作塔防游戏

ID:43768176

大小:62.00 KB

页数:11页

时间:2019-10-14

基于Unity引擎制作塔防游戏_第1页
基于Unity引擎制作塔防游戏_第2页
基于Unity引擎制作塔防游戏_第3页
基于Unity引擎制作塔防游戏_第4页
基于Unity引擎制作塔防游戏_第5页
资源描述:

《基于Unity引擎制作塔防游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Unity引擎制作塔防游戏Abstract:Thetowerdefensegameallowsplayerstofullyusetheirimaginationsinthegame,builddifferentkindsofturretsaccordingtotheterrain,andusethemtomakemultipieroundsofconfrontationwithenemiesthatareconstontlyemerging.TheUnitygameengine,whichisalsopopularintheworldofgameprodu

2、ctioninrecentyears,isacomprehensivegamedevelopmenttoolthatallowsplayerstoeasilycreatetypessuchas3Dgamesand3Danimations.ThispaperisbasedontheUnityenginetomakeatowerdefensegame・1游戏制作的目标效果塔防游戏的三大要素:敌人、炮塔、地图。本文中制作的塔防游戏设置4波敌人,每波敌人具备不同的移速和血量,消灭难度递增;设计3种炮塔,每种炮塔各有玄机并且可进阶为威力更强、射程更广的升级版炮塔;地图为

3、15X15的网格形式,其中包括敌人起点、终点以及敌人行进的道路。玩家通过金币购买炮塔并安置在地图上,炮塔将自动攻击敌人。敌人将一波一波地轮番出现,每波敌人被完全消灭后才会出现下一波敌人。如果有一个敌人到达终点,游戏将宣告失败。当玩家将4波敌人全都消灭时,则判定为胜利[1]。2敌人2.1敌人路径管理在敌人路径上设置一些路径点用于引导敌人移动:让敌人达到固定的路径点,从而实现敌人朝着既定方向移动和转弯。2.2创建并控制敌人的移动游戏中有若干类敌人,用不同的颜色区分。使用Sphere(球物体)充当敌人。首先创建1类敌人,重命名为Enemyl,并将Enemyl放到St

4、art位置(敌人生成处)。当敌人和路径点很接近时,就要朝着下一个路径点移动,此处设置为:两者相距0.2个单位时,朝着下一个路径点移动。2.3创建敌人孵化器管理敌人的生成新增另外3类敌人,分别命名为Enemy2、Enemy3、Enemy4o每类敌人有不同的生命值、移速和生成的数量。敌人将会一波一波地出现,在各波梯队之间应有间隔,例如第二波敌人应该在第一波敌人全部死亡或到达终点后才会出现。敌人生成采用协程[2]的方式实现,定义函数代码如下。对waves数组进行遍历,生成每个wave(—波)中的敌人数目(wave,count)o为此使用for循环,每层循环生成一个敌

5、人。每个敌人生成完毕后,需要暂停极短时间,即第5行。每一波敌人生成完毕后再暂停若干秒时间,即第6行。3炮塔2.1创建3种炮台的Prefab游戏中,玩家可以选择部署3种炮塔对敌人进行攻击。3种炮塔有自己的攻击模式,且价格不同。2.2创建炮塔选择的UI要实现玩家能够在游戏中创建炮塔,需要有一个UI界面供玩家选择炮台。UI上有3个按钮,代表3个炮塔。创建UI,选择Toggle(单选按钮),然后修改其中的属性。将Toggle中的IsOn取消勾选,这样在最初开始就没有炮台被选中。此时,3个按钮还不能做到单选。在Canves中创建空物体,重命名为TurretSwitch,

6、并将所有的Toggle放在其下。为TurretSwitch添加ToggleGroup组件,再将TurretSwitch挂载到每类Toggle上,这样就实现了3个按钮的单选[2]。2.3监听炮塔选择的事件创建一个炮塔的管理类,用于保存当前选择的炮塔。玩家通过点击UI中的炮塔图标做出对炮塔的选择,因此需要监听玩家选中了哪个炮塔。在每个Toggle中添加OnValueChanged的事件。这样就可以为每个Toggle注册OnValueChanged的事件。在此基础上,当玩家点击了一个炮塔图标,就会让该炮塔的IsOn属性变为True,其它2个炮塔的IsOn属性变为Fa

7、lse,此时值就发生了变化,事件被成功监听后就会调用相应的函数。3.4检测鼠标点击到哪个MapCube玩家选择了炮塔后,就要将炮塔放置在Cube上,此时就要检测玩家选定了哪个MapCubeo这里采用射线检测,即从鼠标发出射线,查看射线碰撞到哪一个MapCubeo将MapCube设置为一层(Layer),这样在射线检测,就可以指定检测碰撞在MapCube层,而不与其它层进行碰撞检测。当玩家操作转为鼠标点击时,鼠标如果在UI上,此后接续的就是炮塔的选择。这时需要对鼠标是否点击到UI进行判断。当没有在UI上时,就指定和Mapcube层进行射线检测。3.5币值不足的提

8、示效果当金币不足时,将不能建造炮塔,此

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。