基本字符控制器。 (2D游戏)

时间:2018-12-30 19:59:41

标签: c# unity3d controller

我正在努力大约5-6个小时,以找到一种方法来控制我在C#中的角色。我只是想使其尽可能简单。 (按W键-上升,松开W键,它停止)而且我在Google帮助中找不到任何内容。甚至是一个冗长的代码,我不明白,因为我刚刚开始学习,即使这不是我想要的。例如,这就像观看次数最多的教程,但不适用于我的“游戏”。它可能适用于摇摆不定的角色,但不适用于基本角色。

private Rigidbody2D rb2d;
public float speed = 10f;

void Start()
{
    rb2d = GetComponent<Rigidbody2D> ();
}

void FixedUpdate()
{
    float moveHorizontal = Input.GetAxis("Horizontal");
    float moveVertical = Input.GetAxis("Vertical");

    Vector2 movement = new Vector2(moveHorizontal, moveVertical);
    rb2d.AddForce(movement * speed);
}

}

1 个答案:

答案 0 :(得分:1)

您可以重写

rb2d.AddForce(movement * speed);

rb2d.AddForce(movement * speed, ForceMode2D.Force);

或完全替换为

rb2d.velocity = movement * speed;