Unity 2D проблема с моим сценарием рандомизатора - PullRequest
0 голосов
/ 13 января 2020

This image is of the what the screen looks like at the start, I would like these to appear one by one.

Я создал этот скрипт для случайного появления моих кнопок, но не знаю, как изменить время, когда они появлялись по отдельности, так как они все появляются одновременно. Я их не вижу и не породил, однако в Иерархии они создаются.


Public class RandomSpawn: MonoBehaviour {

    public GameObject prefab1, prefab2, prefab3, prefab4, prefab5;

    public float spawnRate = 2f;

    float nextSpawn = 0f;

    int whatToSpawn;

    // Update is called once per frame
    void Update() {

        if (Time.time > nextSpawn)
        {
            whatToSpawn = Random.Range(1, 6);

            switch (whatToSpawn)
            {
                case 1:
                    Instantiate(prefab1, transform.position, Quaternion.identity);
                    break;
                case 2:
                    Instantiate(prefab2, transform.position, Quaternion.identity);
                    break;
                case 3:
                    Instantiate(prefab3, transform.position, Quaternion.identity);
                    break;
                case 4:
                    Instantiate(prefab4, transform.position, Quaternion.identity);
                    break;
                case 5:
                    Instantiate(prefab5, transform.position, Quaternion.identity);
                    break;
            }

            nextSpawn = Time.time + spawnRate;
        }

Чего мне не хватает?

1 Ответ

0 голосов
/ 13 января 2020

Используйте Time.deltaTime значение, https://docs.unity3d.com/ScriptReference/Time-deltaTime.html

private float _t = 0;
private SpawnRate = 2;
void Update() {
            _t += Time.deltaTime;
            if (_t > SpawnRate)
            {
                whatToSpawn = Random.Range(1, 6);

                switch (whatToSpawn)
                {
                    case 1:
                        Instantiate(prefab1, transform.position, Quaternion.identity);
                        break;
                    case 2:
                        Instantiate(prefab2, transform.position, Quaternion.identity);
                        break;
                    case 3:
                        Instantiate(prefab3, transform.position, Quaternion.identity);
                        break;
                    case 4:
                        Instantiate(prefab4, transform.position, Quaternion.identity);
                        break;
                    case 5:
                        Instantiate(prefab5, transform.position, Quaternion.identity);
                        break;
                }

                _t = 0;
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...