如何使用右箭头键将对象向右移动?

时间:2014-08-08 15:09:04

标签: unity3d unityscript

我有一个内部函数Update的脚本:

using UnityEngine;

public class Player : MonoBehaviour
{
    // The force which is added when the player jumps
    // This can be changed in the Inspector window
    public Vector2 jumpForce = new Vector2(0, 300);

    // Update is called once per frame
    void Update ()
    {
        // Jump
        if (Input.GetKeyUp("space"))
        {
            rigidbody2D.velocity = Vector2.zero;
            rigidbody2D.AddForce(jumpForce);
        }
    }
}

当我点击空格键按钮时,该对象正在跳起然后掉下来,它工作正常。 现在我希望当我点击右箭头键时,对象将向右移动,所以我做了:

using UnityEngine;

public class Player : MonoBehaviour
{

    void Update ()
    {

        if (Input.GetKey(KeyCode.UpArrow)) {
            transform.Translate(Vector3.forward * Time.deltaTime);
    }
}

但现在当我点击统一程序中的PLAY按钮时,没有发生任何事情,我看到了第二次眨眼,这就是游戏永远无法运行。

1 个答案:

答案 0 :(得分:1)

Vector3.forward会将您的对象移动到 Z轴(越来越深),而您需要在 X轴中向右移动对象。如果您希望对象向右移动,请使用Vector3.right。此外,您似乎正在制作2D游戏,因此Vector2在这种情况下更好。

transform.Translate(Vector2.right * Time.deltaTime);