नीचे दिए गए कोड स्निपेट में मैं अलग-अलग प्रायिकता दरों पर गेमोबजेक्ट्स को इंस्टेंट करने की कोशिश कर रहा हूं, लेकिन मुझे निम्नलिखित त्रुटि मिलती रहती है:

तर्क सूची '(Spawn06[])' के लिए 'UnityEngine.Object.Instantiate' का कोई उपयुक्त संस्करण नहीं मिला।

मदद की बहुत सराहना की जाएगी। धन्यवाद।

public var Characters : Spawn06[];

function SpawnCharacters() {
var i = Random.Range(0, 100);

for(var j = 0; j < Characters.Length; j++) {
    if(i >= Characters [j].minProbabilityRange && i <= Characters [j].maxProbabilityRange) {
        temp = Instantiate(Characters);
        pos = temp.transform.position;
        temp.transform.position = new Vector3(Random.Range(-3, 4), pos.y, pos.z);
    }
}
}

public class Spawn06 {
    public var spawnCharacters : GameObject;
    public var minProbabilityRange : int = 0;
    public var maxProbabilityRange : int = 0;
}
0
Random Binaries 8 अप्रैल 2020, 21:42

1 उत्तर

सबसे बढ़िया उत्तर

आप अपनी कक्षा की एक सरणी को तत्काल करने के लिए पास नहीं कर सकते हैं।

for(var j = 0; j < Characters.Length; j++) {
    if(i >= Characters [j].minProbabilityRange && i <= Characters [j].maxProbabilityRange) {
        temp = Instantiate(Characters[j].spawnCharacters); // Pass a GameObject instead of an Array of Spawn06
        pos = temp.transform.position;
        temp.transform.position = new Vector3(Random.Range(-3, 4), pos.y, pos.z);
    }
  }
}
1
Chik3r 8 अप्रैल 2020, 18:50