Объект создается в неправильном месте и каждый раз в одном и том же месте - PullRequest
0 голосов
/ 28 мая 2020

Я озадачен, понятия не имею, как это происходит ... Я не знаю, как мой префаб всегда появляется в одном и том же месте, даже несмотря на то, что я каждый раз устанавливал его позицию для спавнера. Я вставлю свой код из сценария Spawn, но я думаю, что это может быть что-то в сцене ... какие-нибудь идеи? Скажите, если вам нужна дополнительная информация о моих скриптах и ​​т. Д. c.

enter image description here

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();
    }
}
...