我把这个脚本附加到主摄像机。我想在相机位于 y 轴上的特定位置时实例化一个对象。但对象不会实例化。这是脚本。
public GameObject obj;
private void Update()
{
if (transform.position.y % 2 == 0) {
Instantiate(obj, new Vector3(transform.position.x, transform.position.y), Quaternion.identity);
}
}
这与模函数有关吗?谢谢!
它没有实例化,因为if (transform.position.y % 2 == 0) {
不是true
。if (transform.position.y % 2 == 0)
没有评估为真的原因是transform.position.y
是一个float
。当您将该float
除以 2 时,余数可能不是0
。
将该float
舍入到最接近的int
,然后再将其与0
进行比较。这可以通过 Convert.ToInt32
或 Math.Round
.还有其他方法可以做到这一点。
if (Convert.ToInt32(transform.position.y) % 2 == 0)
{
//Instantiate
}