- 最后登录
- 2014-10-23
- 注册时间
- 2011-7-19
- 阅读权限
- 90
- 积分
- 81303
- 纳金币
- -1
- 精华
- 11
|
创建并应用脚本(Script)
(1)首要的是创建一个脚本script,
在Project Panel上单击Create按钮,然后选择"JavaScript",这将在Project Panel中创建一个新的JavaScript。
(2)对脚本进行重命名"layerCharacter" 然后将其从Project Panel中拖放到角色上,以便使它们之间建立联系,现在脚本中的内容就应用在了角色上。
(3)打开脚本编辑器,修改其中的代码。
编写脚本
如果你曾经看过其他的3rd person控制器脚本,会发现它们很长,如果你是unity的初学者则会发现这些代码是很复杂的,下面的介绍会尽量的突出重点,从而使之更加容易理解。
(1)首先定义一些控制器要用到的非常重要的变量,
private var walkSpeed : float = 1.0;private var gravity = 100.0;private var moveDirection : Vector3 = Vector3.zero;private var charController : CharacterController;
下面我们对上面的4条代码进行一下解释:
walkSpeed是一个浮点型,存储了移动的速度
gravity是另外一个浮点型,其中包含了重力加速度,用于保持角色位于地面上。
moveDirection是一个Vector3(包含xyz坐标的变量)类型,存储了角色运动的方向。
charController是一个角色控制器变量(character controller variable),我们将在此变量中设置前面添加的控制器,以便于我们能够在脚本中直接引用它。
(2)创建一个Start()函数,他将在游戏运行的时候,自动被调用,此函数会被用于初始化运行时。function Start(){ charController = GetComponent(CharacterController); animation.wrapMode = WrapMode.Loop;} Start()函数类似于main() / winmain() 函数,它在脚本加载时自动被调用, Start() 只能被调用一次,不能多次执行。上面脚本中的第一行,将前面创建的character controller赋给controller变量,第二行设置动画wrapMode 模式为"loop"。此语句和前面设置动画的loop选项框有相同的作用. ,但通过此语句,可以得到所有的动画的loop属性。
3)接下来创建一个Update()函数,它时另一个重要的函数, start()和update() 的区别是,update()函数在每一帧都会自动调用。因此,所以应用在事件列表和实时行为脚本是很有用的。
function Update (){}我们的行为代码都添加在此函数中。 |
|