首先,选择GameObject->Create Other->Cube创建一个立方体。我们将该场景另存为TankWar0.2做好版本控制。调整正方体和摄像机的位置,大致能在屏幕中看到摄像机即可。
Unity3D教程:如何使用脚本进行控制
运行一下发现这个正方体不受任何物理效果的影响,我们选择Component->Phisics->Rigid Body为小方块添加刚体,运行之后便会发现小方块受重力作用自由落体。下面我们在Inspector里对Rigid Body选择Remove移除刚体,接下来讲解一下如何使用脚本让立方体运动起来。新建一个文件夹Code用来存放脚本文件和一个JavaScript文件,命名为CubeMove用来控制方块的移动。脚本的源码:
var MoveSpeed = 5;
var RotateSpeed = 20;
function Update(){
if(Input.GetKey(KeyCode.W)){//获得按键的键值,如果按下的是W键则前进
print("Moving W");
this.transform.Translate(Vector3.forward*Time.deltaTime*MoveSpeed);
}
else if(Input.GetKey(KeyCode.S)){
print("Moving S");
this.transform.Translate(Vector3.forward*Time.deltaTime*-MoveSpeed);
} //Unity3D教程手册:www.unitymanual.com
else if(Input.GetKey(KeyCode.A)){
print("Moving A");
this.transform.Rotate(Vector3.up*Time.deltaTime*-RotateSpeed);
}
else if(Input.GetKey(KeyCode.D)){
print("Moving D");
this.transform.Rotate(Vector3.up*Time.deltaTime*RotateSpeed);
}
}
将Project面板中的CubeMove拖动到Cube上将其赋值给方块,点击运行试一下发现随着我们按下键盘的WASD,方块也会发生相应的变换。
接下来我们给相机也添加一个脚本来控制,但是这个脚本是Unity事先写好的。在Project面板右击,像上一篇介绍的一样我们引入一个Scripts文件夹,里面有一个SmoothFollow脚本文件,将其拖放到MainCamera上面。再次选中MainCamera可以看到已经有一个脚本文件附在上面了。在Hierachy面板按住Cube不放拖动到脚本的Target上面:
Unity3D教程:如何使用脚本进行控制
以此实现了脚本与方块的关联。这个时候再运行文件我们会发现相机可以跟着方块移动。这个时候再重复上面提到的添加刚体的操作,再次运行,那么这个具有刚体的小方块就算配置完成了。