Это код, который создает экземпляры двух разных типов и помещает их в случайное место. Префикс создается, но не создается случайным образом. Как я могу это исправить???Как рандомизировать позицию объекта?
using UnityEngine;
using System.Collections;
public class Spawner : MonoBehaviour {
// Use this for initialization
void Start() {
InvokeRepeating ("SpawnAThing", 3.0f, 3.0f);
}
// Update is called once per frame
void Update() {
}
void SpawnAThing(){
GameObject x=null;
int z = Random.Range (0, 2);
switch (z) {
case 0:
x = (GameObject)Instantiate(Resources.Load("BadCircle"));;
break;
case 1:
x = (GameObject)Instantiate(Resources.Load("GoodCircle"));
break;
}
x.transform.position.Set (Random.Range (-Screen.width, Screen.width), Random.Range (-Screen.height, Screen.height), 0.0f);
}
}
Теперь код doesnt't работа на всех :( – VolcanicTitan
@VolcanicTitan Это не работает, потому что это право изменить преобразование. Причина, по которой вы не видите объект, состоит в том, что ваше случайное число находится вне поля зрения/экрана. Вы можете это доказать, запустив программу, выбрав один экземпляр объекта, перейдите в режим просмотра сцены и нажмите F. Вы найдете его в другом случайном месте. Ваши позиции отключены от экрана. Это 3D или 2D-объект? – Programmer
Никогда не использовал единство - что означает, что я могу быть вне базы, но случайное число между шириной и шириной похоже на то, что оно будет отключено от экрана в полтора раза. Соедините это с высотой, и это будет вне экрана 3/4 времени. Не должно быть '(0, width)' и аналогичным образом '(0, height)'? Я понимаю, что это было исходное определение, предоставленное OP, но, возможно, это является причиной нерабочего кода для этого решения. – Rob