Является ли создание модели звездного фона для игры в космический хутар в UNITY3D. В C# i build Создается сборка сборных надписей, которые выглядят как точки. Хотя генерация нескольких точек на случайных пятнах по оси х идеально подходит, я хотел добавить одну вещь.Дайте каждому сборнику свою скорость
Случайная скорость. Проблема в том, что я не знаю, как дать каждому сборнику свою собственную скорость, а не перезаписывать следующую случайную классификацию.
backgroundloop.cs
using UnityEngine;
using System.Collections;
public class backgroundloop : MonoBehaviour {
public GameObject star;
public float spawnTime;
private GameObject starPrefab;
private float timestamp;
//public float hoogte = Random.Range(-1.01f,1.1f);
//public float rotationPrefab = transform.localEulerAngles.z;
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
if (Time.time > timestamp) {
starPrefab = Instantiate
(star, new Vector3(7,Random.Range(-5.0f,5.0f),0),
Quaternion.Euler(0, 0, 0)) as GameObject;
timestamp = Time.time + spawnTime;
}
}
}
И проблема в этом сценарии: prefabMovement.cs
using UnityEngine;
using System.Collections;
public class prefabMovement : MonoBehaviour {
float speed = Random.Range (-3f, -0.1f);
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
transform.Translate (new Vector3(-1f,0,0) * Time.deltaTime);
if (transform.position.x < -6.8) {
Destroy (this.gameObject);
}
}
}
Вы можете помещать 'Random.Range' в' void Start() 'метод, так что каждый файл instiatd будет рандомизировать его скорость. –
Пробовал это, но много проблем: имя 'скорость 'не существует в текущем контексте. Наилучшее перегруженное соответствие метода для UnityEngine.Vector3.Vector3 (float, float, float)' имеет некоторые недопустимые аргументы. Аргумент # 1 'не может преобразовать выражение объекта в тип 'float' –
Но нет переменной 'speed', используемой в вашем методе' Update'. И cc вы можете создать переменную 'float speed = 0f;', а в 'Start' просто установите значение как' speed = Random.Range (...); ' –