unity-3d开发教程:炸弹人游戏开发

unity-3d开发教程:炸弹人游戏开发

ID:11411623

大小:502.61 KB

页数:35页

时间:2018-07-11

unity-3d开发教程:炸弹人游戏开发_第1页
unity-3d开发教程:炸弹人游戏开发_第2页
unity-3d开发教程:炸弹人游戏开发_第3页
unity-3d开发教程:炸弹人游戏开发_第4页
unity-3d开发教程:炸弹人游戏开发_第5页
资源描述:

《unity-3d开发教程:炸弹人游戏开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Unity3D开发教程:炸弹人游戏开发简介炸弹人游戏是上世纪80年代广泛流行的一个2D游戏,本文创建的是一个基本型的此游戏的Unity3D版本。通过本游戏,你可以实现如下功能:投掷炸弹并把它放到特定位置通过光线跟踪技术激活炸弹处理与玩家的爆炸碰撞处理与炸弹的爆炸碰撞游戏结局处理准备工作首先,请下载一个我为本文游戏建立的初始示例项目,然后把它放到一个你指定的位置。然后,使用Unity3D打开这个项目,注意到Assets文件夹下包含了好多的子文件夹,如图所示。这里具体说一下各个文件夹的主要功能:An

2、imationControllers:存储着游戏控制器部分,包括的逻辑部分。Materials:包含构建各关卡场景所需要的块(Block)材质。Models:存储玩家、关卡及炸弹模型,及其相关材质。Music:存储游戏的音效文件。PhysicsMaterials:存储玩家的物理材质数据,它们是一些特殊类型的材质,用于实现特定的物理属性。在本教程中,用于使玩家在无摩擦情况下轻松地在关卡中穿越。Prefabs:包含炸弹及爆炸的预制数据。Scenes:对应于游戏场景数据。Scripts:包含游戏的启动

3、脚本,其中添加的大量注释将有利于读者阅读源码。SoundEffects:包含炸弹及爆炸效果相关的声效文件。Textures:包含两个玩家的纹理数据。投掷炸弹如果你还没有打开游戏工程,请抓紧打开,然后试着运行一下此程序。没有其他问题的话,你会观察到如图所示的情形:你会注意到,游戏中的两个玩家可以通过键盘上的WASD四个字符键或者四个箭头键驱动,使其沿着游戏地图运动。通常,当按下空格键时红色玩家会在其脚下安置一枚炸弹,而另一个玩家也能够做同样的事情——只是通过按回车键实现。然而,目前我们还没有实现这

4、一功能。为此,你需要先编写放置炸弹的代码。现在,请你使用自己喜欢的代码编辑器打开脚本文件Player.cs。此脚本负责处理所有的玩家运动及动画逻辑,还包含一个方法DropBomb,当关联游戏对象(GameObject)bombPrefab时,它用于检测目的。privatevoidDropBomb(){if(bombPrefab){//Checkifbombprefabisassignedfirst}}为了实现一个炸弹掉落在玩家下面的效果,在if语句中添加下面的代码:Instantiate(bom

5、bPrefab,myTransform.position,bombPrefab.transform.rotation);上述代码将在玩家脚下生成炸弹(随着玩家的运动路径的变化,将生成成串的炸弹)。现在,运行一下游戏工程,你会观察到如下图所示效果:目前,效果不错吧!但是,还有一个小问题:炸弹投掷的方式如何?如果是无论在哪里你都能放炸弹的话,当你需要计算爆炸应该发生的位置时就会带来一些问题。接下来,本教程将向你具体介绍如何实现爆炸的所有细节。炸弹定位下一步任务是确保炸弹在丢掉时能够附着到相应位置,从

6、而实现炸弹很好地与地板上的网格对齐。由于我们的设计中网格上的每个图块大小是1×1,所以进行此更改是相当容易的。打开文件Player.cs,编辑一下Instantiate()函数,像下面这样:Instantiate(bombPrefab,newVector3(Mathf.RoundToInt(myTransform.position.x),bombPrefab.transform.position.y,Mathf.RoundToInt(myTransform.position.z)),bombPr

7、efab.transform.rotation);注意,这里函数Mathf.RoundToInt调用中使用了玩家位置的x和z两个参数值,每一个浮点类型值被转换为一个整型值,这就可以实现炸弹很好地与地板上的网格对齐的效果:现在,你可以再次启动工程来运行一下,你会观察到当投掷炸弹时,这些炸弹恰好能够对齐网格:虽然把炸弹投掷到地图上是很有趣的,但你知道真正有趣的事是如何实现爆炸!为此,我们再来添加一些功能。创建爆炸效果首先,我们要创建一个新的脚本文件:(1)从Project视图下选择Scripts文件

8、夹;(2)按下Create按钮;(3)选择“C#Script”;(4)把脚本文件命名为Bomb即可。现在,把Bomb.cs脚本关联到预制Bomb上:(1)在Prefabs文件夹中选择GameObjectBomb;(2)点击按钮“AddComponent”;(3)在搜索框中输入“bomb”;(4)选择你刚刚创建的脚本Bomb.cs;(5)打开此脚本文件,然后在其Start()方法中输入如下代码:Invoke("Explode",3f);此方法使用了两个参数,第一个是将要调用的方法名称,第二个是在调

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

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

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