试图移动 y 坐标
Trying to move y coordinate
我是 Unity 新手。代码在 2d 和 c# 中。我试图做到当玩家往下走时他们出现在上面,当玩家往上走时他们出现在下面。这是我得到的错误:
Assets/Scripts/Player.cs(23,43):错误 CS1612:无法修改 UnityEngine.Transform.position'. Consider storing the value in a temporary variable
Assets/Scripts/Player.cs(27,43): error CS1612: Cannot modify a value type return value of
UnityEngine.Transform.position 的值类型 return 值。考虑将值存储在临时变量中
这是我遇到问题的代码:
if (transform.position.y > 5.5f)
{
transform.position.y=-10f;
}
if (transform.position.y < -10.5f)
{
transform.position.y=5;
}
P.S。我知道 Unity 的答案,大约 10 小时前我在那里问了我的问题,但版主仍未批准。这就是我来这里的原因。
不能直接用transform.position.y给它设置值。相反,Unity 要求您使用一些临时值或简单地编写如下 -
if (transform.position.y > 5.5f)
{
transform.position = new Vector3(transform.position.x, -10.0f, transform.position.z);
}
if (transform.position.y < -10.5f)
{
transform.position = new Vector3(transform.position.x, 5.0f, transform.position.z);
}
或者如果你想使用临时变量,使用这个 -
if (transform.position.y > 5.5f)
{
Vector3 newPosition = new Vector3(transform.position.x, -10.0f, transform.position.z);
transform.position = newPosition;
}
if (transform.position.y < -10.5f)
{
Vector3 newPosition = new Vector3(transform.position.x, 5.0f, transform.position.z);
transform.position = newPosition;
}
两者相同。但为了方便起见,我会在你的情况下选择第一个。
我是 Unity 新手。代码在 2d 和 c# 中。我试图做到当玩家往下走时他们出现在上面,当玩家往上走时他们出现在下面。这是我得到的错误:
Assets/Scripts/Player.cs(23,43):错误 CS1612:无法修改 UnityEngine.Transform.position'. Consider storing the value in a temporary variable
Assets/Scripts/Player.cs(27,43): error CS1612: Cannot modify a value type return value of
UnityEngine.Transform.position 的值类型 return 值。考虑将值存储在临时变量中
这是我遇到问题的代码:
if (transform.position.y > 5.5f)
{
transform.position.y=-10f;
}
if (transform.position.y < -10.5f)
{
transform.position.y=5;
}
P.S。我知道 Unity 的答案,大约 10 小时前我在那里问了我的问题,但版主仍未批准。这就是我来这里的原因。
不能直接用transform.position.y给它设置值。相反,Unity 要求您使用一些临时值或简单地编写如下 -
if (transform.position.y > 5.5f)
{
transform.position = new Vector3(transform.position.x, -10.0f, transform.position.z);
}
if (transform.position.y < -10.5f)
{
transform.position = new Vector3(transform.position.x, 5.0f, transform.position.z);
}
或者如果你想使用临时变量,使用这个 -
if (transform.position.y > 5.5f)
{
Vector3 newPosition = new Vector3(transform.position.x, -10.0f, transform.position.z);
transform.position = newPosition;
}
if (transform.position.y < -10.5f)
{
Vector3 newPosition = new Vector3(transform.position.x, 5.0f, transform.position.z);
transform.position = newPosition;
}
两者相同。但为了方便起见,我会在你的情况下选择第一个。