我试图将级别实例化到我的游戏中,但是当我实例化第一级时,它会产生我的产卵位置引用的权限,然后当我删除第一级并在游戏中生成第二级时,它会产生第一级的第二级产卵权。因此,基本上,我有一个游戏对象在我的场景中作为位置参考,但当我实例化新的水平是越来越多地向右移动。
我如何让它每次都在位置参考处产卵?
我在游戏开始时用以下方式实例化了第一级:
// Start is called before the first frame update
void Start()
{
Instantiate(levels[levelIndex], levelPosition.transform.position, Quaternion.identity);
}
然后,当级别中不再有僵尸时,当前级别将被销毁,下一个级别将以以下方式实例化:
// Update is called once per frame
void Update()
{
zombies = GameObject.FindGameObjectsWithTag("Zombie");
zombieCount = zombies.Length;
if (zombieCount == 0) LoadNewLevel();
}
private void LoadNewLevel()
{
var levelDestroy = GameObject.Find("Level" + level + "(Clone)");
Destroy(levelDestroy);
level++;
levelIndex++;
if (levelIndex < 2) Instantiate(levels[levelIndex], levelPosition.transform.position, Quaternion.identity);
}
我如何使它总是在参考位置产卵?
发布于 2022-05-30 15:43:51
实例化时尝试记录levelPosition.transform.position
,因为这就是它要做的事情。如果该位置是正确的,那么检查实例化的东西,并确保您的对象都处于一个正确说明您的levelPosition值的位置。例如,如果您希望它在x=2上生成,并且在实例化位置和级别预置中使用2表示x,那么最终得到的x偏移量为4,这比您预期的要更远。
https://stackoverflow.com/questions/72436125
复制相似问题