在自上而下游戏中设置X轴和Y轴的特定边界

本文关键字:边界 轴和 游戏 自上而下 设置 | 更新日期: 2023-09-27 18:04:40

我还有一个问题要问你。

我正在制作一款2D自上而下平台游戏,玩家只能在x轴和y轴上移动。

我正在尝试设置地图的边界,以便玩家和所有其他对象不能越过它,但我尝试的代码给了我错误:

"不能修改'UnityEngine.Transform.position'的值类型返回值。考虑将值存储在临时变量中。"

这是我正在尝试的代码,它看起来很简单,但鉴于我对c#的经验水平,我无法告诉为什么不允许:

使用UnityEngine

;使用System.Collections;

公共类BorderScript: MonoBehaviour {

public Vector2 Position;
// Use this for initialization
void Start () {

}
// Update is called once per frame
void Update () {
    if (this.transform.position.x >= 50) {
        this.transform.position.x = 50;
            }
    if (this.transform.position.x <= -50) {
        this.transform.position.x = -50;
    }
    if (this.transform.position.y <= 50) {
        this.transform.position.y = 50;
    }
    if (this.transform.position.y <= -50) {
        this.transform.position.y = -50;
    }
}
}

提前感谢各位,非常感谢你们的帮助

在自上而下游戏中设置X轴和Y轴的特定边界

在c#中,不能一次修改单个轴的值。你必须重新分配整个向量:

this.transform.position = new Vector3(transform.position.x, 50, transform.position.z);

,当您修改时,例如,Y轴等于50个单位(您的指令this.transform.position.y = 50;必须替换为我的指令,另一个也必须替换)。