介绍
这是一个系列教程,将向初学者展示如何使用Unity 2D工具集制作基于2D Sprite的物理游戏。最终目标是用物理制作一个简单的坦克射击游戏。
或许你想要这个游戏的压缩包,哈哈,在这里下载:简单的物理Sprite坦克。注意:你必须在场景文件夹中找到并双击“坦克”场景,来获得要展现的东西。
这篇教程将涉及:
- 如何建立一个基本的Unity 2D项目
- 如何导入坦克Sprite
- 如何给坦克Sprite添加物理行为
设置场景
在菜单中点击“File -> New Project”

由于我们是要做一个2D游戏,确保选择“Set up defaults for:”切换在“2D”.

你就应该能看到如下图所示的空白项目了。

在我们开始之前,点击“File -> Save Scene As”,命名为“Tank”,保存这个场景。

注意:如果在主视图窗口没有激活“2D”模式,确保点击“2D”按钮,使其变为2D模式。
创建坦克GameObject
我们要做的第一件事是创建2D坦克。在场景中添加空的GameObject。点击 “GameObject -> Create Empty.”


你将看到如上图所示的蓝色方块,代表空的GameObject,接下来我们来做一个坦克。选择空的GameObject,就能字啊右侧的Inspector面板看到它的详细信息。将其字段名重命名为“Tank”,如下图:

现在来添加一些物理的东西。要添加的第一项是一个“2D刚体”。简单的说 ,这将能给坦克添加物理行为,比如说重力。点击“Add Component -> Physics 2D -> Rigidbody 2D”,给对象添加2D物理。

我们还要一个叫做“Box Collider”的组件。 刚体和对撞机是两个基本的Unity对象,这两者经常成对出现,彼此相呼应。你可以配置对撞机来决定可以触碰哪种类型的GameObject,并与其它的互动,以及该互动的性质。这里暂且不讨论这一点。

点击 “Add Component -> Physics 2D -> Box Collider 2D” 来添加对撞机, 现在坦克GameObject 就基本完成了。
操作Sprite
GameObject现在有2D物理以及碰撞行为,但是还没有可视化的皮肤。下载下图的Sprite(tank.png),然后拖拽到Unity的assets window。


只要将坦克拖拽到了Project面板,它将会如截图所示出现在底部。Unity默认将图片资源作为“Texture”资源,但这不能达到我们的目的。我们必须把这个图片从Texture转换成Sprite。选择Tank.png文件,查看Inspector中的详情,如下图:

从下拉菜单中选择“Sprite”,点击“Apply”使其应用,现在我们就有了可以再游戏中使用的Sprite。
创建一个Sprite渲染器
Sprite 渲染器 是Unity在游戏中展示2D Sprite的方式。现在我们要创建一个,这样我们的小坦克就能显示在场景窗口了。在“Hierarchy”面板的左侧选择“Create”来显示如下图的下拉菜单:


选择“Sprite” 来显示我们想要生成一个Sprite渲染器。只要创建了Sprite,将其选中,在Inspector面板中如下图:

把GameObject重命名为“Tank Body Sprite”,现在的Sprite不像个Sprite的样子,所以我们得告诉Sprite渲染器哪个资源得关联这个对象。在Sprite渲染器的Inspector面板区域点击图中蓝色的小点(在Sprite右边),如下图:

点击“Assets -> Tank”选中Tank.png Sprite。

在场景窗口中,显示出的结果应该像下图这样:

最后,必须采取最后一个步骤,将Tank Body Sprite内嵌入“Tank”GameObject。在“Hierarchy”窗口拖拽Tank Body Sprite到“Tank” GameObject,如下:

让坦克动起来

坦克游戏现在看起来应该是这个样子。为了证明坦克Sprite现在有了物理行为,点击“Play”按钮。

如果你正确实施了以上步骤,坦克掉落到视图之外,被重力拉下去的。
接下来
显然坦克从屏幕上坠落太渣了,本系列的下一篇文章将讲解如何在场景中添加一个地形。
原文链接:http://www.unit3y.com/unity-2d-tank-game-part/
来自:9Tech
建议使用电驴(eMule)下载分享的资源。
说明:本教程来源互联网或网友分享或出版商宣传分享,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
|