原文地址:http://www.rocket5studios.com/tutorials/make-a-2d-game-with-unity3d-using-only-free-tools-part-4/
原版翻译,转载请注明出处:http://blog.csdn.net/ariel7321/article/details/7816370
本篇文章中,我们将创建一个可以被捡起的物体,并完成计分系统,然后再添加一个文本界面,用来显示分数、生命和关卡。
点击这里查看本节完成后的效果:点我!
添加计分和拾取物脚本
到目前为止,咱们的游戏还不错啊——主角可以移动、爬*以及沿着绳子攀岩。现在我们来添加拾取物“金库”和一个界面,这个界面记录着分数、主角生命和当前的关卡级别。
- Download scoring and pickup scripts,下载后解压。
- 将 Scoring.cs 和 Pickup.cs 拷贝到项目的Assets/Scripts目录下。
对脚本进行修改
- 打开 xa.cs,取消注释掉下面一行:
public static Scoring sc;
- 在Start函数里,取消注释下面一行:
sc = (Scoring)(this.gameObject.GetComponent("Scoring"));
- 打开Player.cs,找到OnTriggerEnter function函数(256行),然后取消注释下面一段代码:
if (other.gameObject.CompareTag("Pickup")) { if (other.GetComponent<Pickup>()) { other.GetComponent<Pickup>().PickMeUp(); xa.sc.Pickup(); } }
制作拾取物精灵
- 将Orthello –> Objects –> Sprites下的Sprite拖放到Hierarchy 或Scene中,重命名为“pickup”。
- 将OT –> Containers下的level对象拖放到Sprite Container中。
- 将 “Frame Index”改为16.
- 将Scale里的x、y改为1。
调整下碰撞
- 这个精灵是个正方形,但是我们只希望只有当玩家碰到它的白色部分才能捡起它。
- 勾选Collidable ,给精灵添加碰撞检测。
- 点击Physics 旁的下拉菜单,选择Custom。
- 在Box Collider下面,将Center Y改为-0.15, Size X改为0.8,Size Y 改为0.5. 保留Size Z 为 0.4。
设置标签
- 我们需要标记拾取物,这样当玩家碰到它时才会触发它碰撞。
- 通过 Edit –> Project Settings –> Tags创建一个新的Tag
- 将新Tag命名为“Pickup”
- 点选pickup对象,在Tags旁的下拉菜单里选择“Pickup”
添加脚本,并将其改为Prefab
- 将Pickup.cs脚本拖放到pickup对象上
- 将pickup对象拖放到Prefabs文件夹中
根据前面几节学的知识,将pickup对象放到砖地上吧。如果你根据我的步骤做的,你应该看到下图结果:
添加界面上的文字
待续。。。