http://pixelnest.io/tutorials/2d-game-unity/
中文版教程:
http://www.litpo.com/category/易学的教程/
1.创建第一个场景
Project
“面板上创建如下文件夹:
接着在”
Hierarchy
“面板上创建多个空对象,形成以下结构:
Position
保持为(0, 0, 0)即可。保存场景,名称为”
Stage1
“。
2.添加显示背景
Textures
“文件夹,确认这张图片的纹理类型,即”
Texture Type
“属性为” Sprite”,如下图所示:
在场景中添加一个Sprite游戏对象,设置其”
Sprite
“属性为刚才导入的背景图片。重命名这个对象为”
Background1
“,将其移动到”
Level -> 0 – Background
“里面,设置其”
Position
“为 (0, 0, 0)。接着添加背景元素。导入平台图片到 ”
Textures
“文件夹,选中”
platforms
“图片,设置其”
Sprite Mode
“为” Multiple”,然后点击”
Sprite Editor
“,如下图所示:
Sprite Editor
“窗口中,进行绘制每个平台的包围矩形,以便将纹理分割成更小的部分。然后分别命名为”
platform1
“和”
platform2
“,如下图所示:
创建一个新的 Sprite游戏对象,设置其”
Sprite
“属性为” platform1″。再在创建新 Sprite对象, 设置其”
Sprite
“属性为” platform2″。将它们放置到”
1 – Middleground
“对象里,并且确认它们的Z坐标为0。将这两个对象从”
Hierarchy
“面板拖动到”
Project
“面板下的”
Prefabs
“文件夹,保存成预制对象。接着,为了避免显示顺序问题,修改下游戏对象的Z坐标,如下所示:
|
Layer |
Z Position |
| 0 – Background | 10 |
| 1 – Middleground | 5 |
| 2 – Foreground | 0 |
Scene
“面板上的2D到3D视图切换,可以清楚看到层次:
3.创建主角和敌人
Textures
“文件夹,创建一个Sprite游戏对象,命名为”
Player
“, 设置其”
Sprite
“属性为刚才导入的主角图片。将此对象放入”
2 – Foreground
“层里,设置其
Scale
为 (0.2, 0.2, 1)。接着,为主角添加盒碰撞体组件,点击”
Add Component
“按钮,选择”
Box Collider 2D
“,设置其
Size
为 (10, 10),虽然这还是大于实际的区域,但已比图片小多了,如下图所示:
Rigidbody 2D
“刚体组件,现在运行可以看到如下结果:
可以看到主角往下落了,这是因为刚体带有重力,但在这个游戏不需要用到,将”
Gravity Scale
“属性设为0即可。另外,不想因为物理而引起的主角旋转,则将”
Fixed Angles
“属性勾选上。完整的设置如下图所示:
开始准备让主角移动。在”
Scripts
“文件夹里,创建一个C#脚本,名称为”
PlayerScript
“,实现让方向键移动主角,代码如下:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
using UnityEngine;
/// <summary> // 2 – Store the movement |
