Почему все значения скорости равны 0? - PullRequest
0 голосов
/ 13 января 2019
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Spin : MonoBehaviour
{
    public GameObject prefabToRotate;
    [Range(1, 100)]
    public int numberOfObjects = 5;
    [Range(1, 500)]
    public float[] speeds;
    public bool randomNumbersOfObjects = false;
    public bool randomSpeed = false;

    private List<GameObject> instantiatedObjects = new List<GameObject>();

    // Start is called before the first frame update
    void Start()
    {
        speeds = new float[numberOfObjects];
        if(randomNumbersOfObjects == true)
        {
            numberOfObjects = Random.Range(1, 100);
        }
        if(randomSpeed == true)
        {
            for(int i = 0; i < speeds.Length; i++)
            {
                speeds[i] = Random.Range(1, 500);
            }
        }
        for(int i = 0; i < numberOfObjects; i++)
        {
            GameObject go = Instantiate(prefabToRotate);
            instantiatedObjects.Add(go);
        }
    }

    // Update is called once per frame
    void Update()
    {
        for (int i = 0; i < numberOfObjects; i++)
        {
            instantiatedObjects[i].transform.Rotate(Vector3.down, speeds[i] * Time.deltaTime);
        }
    }
}

А как я могу получить случайные числа и случайные скорости от ползунков Range? 1, 100 и 1, 500? Я также хочу иметь возможность изменять эти значения ползунков в обновлении, и оно будет обновлять в режиме реального времени при запуске игры количество объектов и случайные скорости.

1 Ответ

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

Вы устанавливаете длину вашего массива 'speeds' в 'numberOfObjects', затем вы меняете значение 'numberOfObjects', но ваш массив 'speeds' по-прежнему равен старому значению 'numberOfObjects'. Попробуйте установить длину «speeds» после того, как вы назначите случайное значение для «numberOfObjects», например,

if (randomNumbersOfObjects == true)
{
    numberOfObjects = Random.Range(1, 100);
}
speeds = new float[numberOfObjects];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...