在自上而下游戏中设置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;
}
}
}
提前感谢各位,非常感谢你们的帮助
在c#中,不能一次修改单个轴的值。你必须重新分配整个向量:
this.transform.position = new Vector3(transform.position.x, 50, transform.position.z);
,当您修改时,例如,Y轴等于50个单位(您的指令this.transform.position.y = 50;
必须替换为我的指令,另一个也必须替换)。