Я создаю бесконечный бегун и произвольно создаю препятствия для своей игры. Что происходит, я получаю следующее исключение, но это не влияет на то, чтобы играть в эту игру, будет ли это проблемой в конце, если я реализую его на платформе Android?Получение исключения из бесконечного генерации объектов
Исключение:
ArgumentException: RandomRangeInt можно назвать только из главного нити. Конструкторы и инициализаторы полей будут выполняться из загрузочной нити при загрузке сцены. Не используйте эту функцию в инициализаторах конструктора или поля, вместо этого переместите код инициализации в функцию Awake или Start. UnityEngine.Random.Range (Int32 мин, Int32 макс) (в C: /buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineRandomBindings.gen.cs: 30) wall..ctor()
код:
using UnityEngine;
using System.Collections;
public class wall : MonoBehaviour {
public Vector3 spawnPoint;
private Transform camPos;
private int ranXpos = Random.Range(-5,6);
// Use this for initialization
void Start() {
transform.position= new Vector3(ranXpos,spawnPoint.y,spawnPoint.z);
camPos = GameObject.Find("Main Camera").GetComponent<Transform>();
}
// Update is called once per frame
void Update() {
transform.position += Vector3.back;
if(transform.position.z< camPos.position.z)
{
Destroy(gameObject);
}
}
}
Как уйти от этого исключения?
Вы должны использовать функцию UnityEngine.Random.Range (int max, int min). –