-1

我是 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);
    }
}

此代码没有语法错误。

4

1 回答 1

2

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

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);
    }
}
于 2015-01-26T06:46:32.837 回答