纳金网
标题:
第一人称射击游戏(中级教程)(一)
[打印本页]
作者:
会飞的鱼
时间:
2011-12-13 14:14
标题:
第一人称射击游戏(中级教程)(一)
手册第二部分的翻译,效果比第一部分更复杂些,增加了敌人元素。脚本更复杂,但其实这些教程提供的脚本通用性很强,可以说是简单易用。
第二部分:进阶
这部分是中级教程,介绍游戏中类似多武器切换、毁伤和敌人等。
前提条件
这部分教程假设你已经熟悉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赋予摄像机下的游戏物体“武器”。
作者:
晃晃
时间:
2012-1-29 23:25
一帆风顺,二龙腾飞,三羊开泰,四季平安,五福临门,六六大顺,七星高照,八方来财,九九同心,十全十美。
作者:
C.R.CAN
时间:
2012-2-15 23:32
沙发不解释
作者:
菜刀吻电线
时间:
2012-3-2 23:21
俺是新人,这厢有礼了!
作者:
菜刀吻电线
时间:
2012-3-27 23:30
提醒猪猪,千万不能让你看见
作者:
晃晃
时间:
2012-4-17 23:19
我也来支持下
作者:
C.R.CAN
时间:
2012-5-29 23:24
呵呵,真得不错哦!!
作者:
晃晃
时间:
2012-6-28 23:28
你们都躲开,我来顶
作者:
C.R.CAN
时间:
2012-8-24 23:25
很有心,部分已收录自用,谢谢
作者:
奇
时间:
2012-8-25 23:56
凡系斑竹滴话要听;凡系朋友滴帖要顶
欢迎光临 纳金网 (http://rs.narkii.com/club/)
Powered by Discuz! X2.5