Я озадачен, понятия не имею, как это происходит ... Я не знаю, как мой префаб всегда появляется в одном и том же месте, даже несмотря на то, что я каждый раз устанавливал его позицию для спавнера. Я вставлю свой код из сценария Spawn, но я думаю, что это может быть что-то в сцене ... какие-нибудь идеи? Скажите, если вам нужна дополнительная информация о моих скриптах и т. Д. c.
public GameObject prefab, prefab2, prefab3;
public float respawn = 1f;
public float respawn2 = .2f;
public float respawn3 = 50f;
private float rounds = 1f;
// Start is called before the first frame update
void Start()
{
spawne();
StartCoroutine(invader());
StartCoroutine(star());
StartCoroutine(powerup());
}
private void spawne()
{
GameObject a = Instantiate(prefab) as GameObject;
a.transform.position = new Vector2(transform.position.x, transform.position.y);
}
private void spawne2()
{
GameObject b = Instantiate(prefab2) as GameObject;
b.transform.position = new Vector2(transform.position.x, transform.position.y);
}
private void spawne3()
{
GameObject c = Instantiate(prefab3) as GameObject;
c.transform.position = new Vector2(transform.position.x, transform.position.y);
c.transform.position = transform.position;
c.transform.rotation = transform.rotation;
}
IEnumerator powerup()
{
while (true)
{
yield return new WaitForSeconds(respawn3);
spawne3();
if (respawn3 > 5f)
{
rounds += 0.2f;
respawn3 -= 2f * rounds;
}
else if (respawn3 < 5f)
{
respawn3 = 15f;
}
}
}
IEnumerator star()
{
while (true)
{
yield return new WaitForSeconds(respawn2);
spawne2();
}
}
IEnumerator invader()
{
while (true)
{
yield return new WaitForSeconds(respawn);
spawne();
}
}