这是本系列教程的第六章,这篇教程将涉及:
- 使一个简单的gameObject预制件实例移动
- 增加一个预制敌人
- 如何去标记场景内的个别物体
Unity预制件是一个可以在场景内重复生成或放置的物体(可以轻松的在场景和项目中转换),预制件为我们物体便携性提供了很多好处。首先我们把我们的坦克拖到视图的底部。这样子会看到标题变成了蓝色且自动的将其转换成了预制件,同时还创建了一个名为”prefabs”的文件夹,这时我们可以把我们的坦克放入这个文件夹。

现在我们有了一个预制件坦克,让我们用它制作一个预制敌人。
一个简单的敌人
为了本教程的目的,我们假想一个看起来很邪恶的外星人来破坏地球,把它当作敌人(汗.看上去一点都不邪恶),下载并将它托放到Assets文件夹中,设置它的类型为”sprite”,创建一个新的物体Sprite渲染器,用这个作为sprite,然后给它取名为”Alien”,把它拖放到Assets文件夹将其转换为预制件。

一旦你有一个外星人的预制件,你就可以为其加入一个圆形碰撞器”Circle Collider”。记住,你需要尽可能的让这个圆形碰撞区域和这个外星人大小接近,就像图里这样子。

简单外星人移动脚本
在我们移动外星人之前,我们需要介绍一下标签的概念。打开我们坦克并点击”inspector窗口里的标签下拉,选择”player”。

和制作外星人及地形一样,分别点击”add tag”添加”Terrain”和”Alien”。定标签的目的是为了帮助场景内的物体得到脚本支持时的分类,方便查找到指定物体。

稍后,我们将用这些来进行碰撞检测。
现在为外星人预制件加入脚本,确保同时添加一个RigidBody2D(用于碰撞),接着单击”isKinematic”。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
using UnityEngine;
using System.Collections;
public class AlienController : MonoBehaviour {
public float alienSpeed = .02f;
void Start () {
}
void Update () {
transform.position += new Vector3(0, -alienSpeed, 0);
}
void OnCollisionEnter(Collision collision) {
}
}
|
下一篇,我们将学习如果处理场景中我们的外星人和其它物体的碰撞。
建议使用电驴(eMule)下载分享的资源。
说明:本教程来源互联网或网友分享或出版商宣传分享,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
|