- 最后登录
- 2014-10-23
- 注册时间
- 2011-7-19
- 阅读权限
- 90
- 积分
- 81303
- 纳金币
- -1
- 精华
- 11
|
手册第二部分的翻译,效果比第一部分更复杂些,增加了敌人元素。脚本更复杂,但其实这些教程提供的脚本通用性很强,可以说是简单易用。
第二部分:进阶
这部分是中级教程,介绍游戏中类似多武器切换、毁伤和敌人等。
前提条件
这部分教程假设你已经熟悉Unity基本操作和基本的脚本概念。同时,你对第一部分的内容也已经熟知。
关卡设置
下载Fps_Tutorial.zip,解压,Unity中打开工程文件夹。如果你已经完成了第一部分教程那么把文件解压到新的文件夹下面。
导入标准资源包
把mainLevelMesh和FPS controller预制增加到场景中
注意:这部分教程中无需创建新脚本。我们使用下载的那些脚本。
武器切换
在涉及如何创建个别武器之前,我们需要写一些代码来控制武器如何出现和如何切换。我们来看看脚本PlayerWeapons的内容:
function Awake()
{
// Select the first weapon
SelectWeapon(0);
}
这段程序初始化0号武器作为默认武器。
function Update()
{
// Did the user press fire?
if (Input.GetButton ("Fire1"))
BroadcastMessage("Fire");
if (Input.GetKeyDown("1"))
{
SelectWeapon(0);
}
else if (Input.GetKeyDown("2"))
{
SelectWeapon(1);
}
}
这段程序检测键盘输入:开火键、数字“1”代表1号武器、数字“2”代表2号武器。武器都要设为主摄像机的子物体。
function SelectWeapon(index : int)
{
for (var i=0;i<transform.childCount;i++)
{
// Activate the selected weapon
if (i == index)
transform.GetChild(i).gameObject.SetActiveRecursively(true);
// Deactivate all other weapons
else
transform.GetChild(i).gameObject.SetActiveRecursively(false);
}
}
这段是根据键盘输入激活相应的武器。
下面来使用上面那些代码:
创建一个空游戏物体(empty game object),命名为“武器”,把它拖放到主摄像机下设为主摄像机的子物体(FPS controller中的摄像机)。我们的武器都将设为这个空物体的子物体。
把脚本PlayerWeapons赋予摄像机下的游戏物体“武器”。 |
|