Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在自上而下的游戏中设置X轴和Y轴的特定边界_C#_Unity3d - Fatal编程技术网

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

C# 在自上而下的游戏中设置X轴和Y轴的特定边界,c#,unity3d,C#,Unity3d,我还有一个问题要问你 我正在制作一个2D自上而下的platformer游戏,玩家只能在x轴和y轴上移动 我正在尝试设置地图的边界,以便玩家和所有其他对象都不能穿过它,但我尝试的代码给了我错误: 不能修改“unyEngigial.Trime.Posits”的值类型返回值。考虑将值存储在临时变量中。“” 这是我正在尝试的代码,看起来很简单,但考虑到我在C语言方面的经验水平,我不知道为什么不允许这样做: 使用UnityEngine; 使用系统集合 公共类边界脚本:MonoBehavior{ publi

我还有一个问题要问你

我正在制作一个2D自上而下的platformer游戏,玩家只能在x轴和y轴上移动

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

不能修改“unyEngigial.Trime.Posits”的值类型返回值。考虑将值存储在临时变量中。“

” 这是我正在尝试的代码,看起来很简单,但考虑到我在C语言方面的经验水平,我不知道为什么不允许这样做:

使用UnityEngine; 使用系统集合

公共类边界脚本:MonoBehavior{

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;
    }
}
}
公共向量2位置;
//用于初始化
无效开始(){
}
//每帧调用一次更新
无效更新(){
if(this.transform.position.x>=50){
这个.transform.position.x=50;
}

如果(this.transform.position.x不能一次修改单个轴的值,以C#为单位。必须重新指定整个向量:

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

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

您不能一次修改单个轴的值,单位为C。\n您必须重新指定整个向量:

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

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

您不能一次修改单个轴的值,单位为C。\n您必须重新指定整个向量:

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

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

您不能一次修改单个轴的值,单位为C。\n您必须重新指定整个向量:

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

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

谢谢你的回答。非常感谢你的帮助:谢谢你的回答。非常感谢你的帮助:谢谢你的回答。非常感谢你的帮助:谢谢你的回答。非常感谢你的帮助:谢谢你的回答。非常感谢你的帮助:D