我正在創造一個無盡的亞軍,併爲我的遊戲隨機生成障礙。發生什麼事情是我得到下面的異常,但這並不影響玩這個遊戲那麼多,會不會是一個問題最後,如果我將它實現到android平臺?在無盡的對象上生成例外
例外:
的ArgumentException:RandomRangeInt只能從主 線程調用。 加載場景時將從加載線程執行構造函數和字段初始值設定項。 不要在構造函數或字段初始值設定項中使用此函數,而應將初始化代碼移動到喚醒或啓動函數。 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)函數。 –