我们如何添加 Vector3
作为方法的默认参数?例如:
Void SpawnCube(Vector3 p = new Vector3(0,0,0)){...}
我刚刚尝试了关于我遇到错误的行:
Expression being assigned to optional parameter `p' must be a constant or default value
我想自定义一个函数来生成一些游戏对象
,如果我没有提供transform.position
,它将转到(0,0 ,0)
。
最佳答案
我知道这已经得到回答,但我只想添加其他方法来做到这一点。 Vector3? p
和 Vector3 bar = default(Vector3)
应该这样做。
public void SpawnCube(Vector3? p = null)
{
if (p == null)
{
p = Vector3.zero; //Set your default value here (0,0,0)
}
}
作为htmlcoderexe 指出,
要使用 p
,您必须使用 p.Value
或将 p
转换回 Vector3
((Vector3)p)
。
例如,要使用 p
变量、p.Value.x
或 从该函数访问
.x
值((Vector3)p).x
或
public void SpawnCube(Vector3 bar = default(Vector3))
{
//it will make default value to be 0,0,0
}
关于c# - Unity3d c# - Vector3 作为默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30294216/