我正在学习OOP(我不知道它怎么称呼,也许是错误的)。今天我想做一个非常基本的游戏,但是我的代码不起作用。当用户按下向左箭头或向右箭头时,我想左右移动对象。但这是行不通的。这是一个2D项目。这是代码,对不起我的英语不好。

using UnityEngine;
using System.Collections;

public class p1 : MonoBehaviour {

    public float hiz = 0.1f;
    Vector2 v2Pozisyon;

    void Start () {

    }

    void Update () {
        yuru ();
    }

    void yuru (){
        if (Input.GetKey (KeyCode.LeftArrow)) {
            v2Pozisyon.x = this.transform.position.x - hiz;
        }
        if (Input.GetKey (KeyCode.RightArrow)) {
            v2Pozisyon.x = this.transform.position.x + hiz;
        }
    }
}

最佳答案

如果要移动对象,则必须分配给变换的位置变量。

void yuru (){
    if (Input.GetKey (KeyCode.LeftArrow)) {
        v2Pozisyon.x = this.transform.position.x - hiz;
    }
    if (Input.GetKey (KeyCode.RightArrow)) {
        v2Pozisyon.x = this.transform.position.x + hiz;
    }
    this.transform.position = v2Pozisyon;
}

关于c# - 用于移动的Unity C#脚本不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31235866/

10-09 05:57