我正在尝试使用Unity为Android创建无限的基础。尝试使用对象池来实现地面重复,但事实证明有些棘手。 我可以实例化并沿x轴创建克隆。
我想要实现的是获取最后一个克隆对象的位置并将其设置为的新位置,并在新位置创建新对象并再次实例化。
我需要与转换父级一起工作吗? 我在这方面走对了吗?
下面的代码。
public class InfiniteGround : MonoBehaviour
{
public Transform ground1Obj;
private int count;
private Vector3 lastPosition;
void Start()
{
count = 0;
for (int i = 0; i < 10; i++)
{
Instantiate(ground1Obj, new Vector3(i * 100f, 0, 0), Quaternion.identity);
count++;
if (count == 10)
{
lastPosition = ground1Obj.position;
Debug.Log("Last Position: " + lastPosition);
}
}
}
}
答案 0 :(得分:1)
对于实例化,它应该起作用,而不是您打算的方式。如果您想拥有无限的地面,则应根据玩家的位置添加地面
如果您想更改代码。我会:
答案 1 :(得分:-1)
为什么不使用实例化返回的Gameobject?
GameObject newObject = Instantiate(ground1Obj, new Vector3(i * 100f, 0, 0), Quaternion.identity);
count++;
if (count == 10)
{
lastPosition = newObject .position;
Debug.Log("Last Position: " + lastPosition);
}