unityscript 中的函数不会 运行

function won't run in unityscript

我是 unityscript 的新手,正在使用 Unity 2D 制作平台游戏,但我的角色移动脚本无法运行。我假设该函数没有被调用,但它曾经工作过。

这是代码:

#pragma strict

var JumpSpeed : float = 10;
var walkSpeed : float = 10;
var gravity : float = 50;



function update () {
    var Controller : CharacterController = GetComponent(CharacterController);
    var vertical : Vector2 = transform.TransformDirection(Vector2.up);
    var jump : Vector2 = transform.TransformDirection(Vector2.zero);

    if(Input.GetAxis("Vertical") || Input.GetAxis("Jump")){
        Controller.Move((vertical * (walkSpeed * Input.GetAxis("Vertical"))) * Time.deltaTime);
        Controller.Move((jump * (walkSpeed * Input.GetAxis("Jump"))) * Time.deltaTime);
    }
}

此代码没有语法错误。

您需要使用 U 而不是 u 来使用 Unity3D 的更新方法。更新 -> Update

function Update () {
    var Controller : CharacterController = GetComponent(CharacterController);
    var vertical : Vector2 = transform.TransformDirection(Vector2.up);
    var jump : Vector2 = transform.TransformDirection(Vector2.zero);

    if(Input.GetAxis("Vertical") || Input.GetAxis("Jump")){
        Controller.Move((vertical * (walkSpeed * Input.GetAxis("Vertical"))) * Time.deltaTime);
        Controller.Move((jump * (walkSpeed * Input.GetAxis("Jump"))) * Time.deltaTime);
    }
}