Machen Sie ein Spiel in Einheit und ich verwende diesen Code. Ich weiß nicht, was falsch ist und warum ändert das Sprite die Farbe nicht, wenn es instanziiert wird. Kannst du mir helfen, damit ich nicht den Verstand verliere? : D (ich auch zufällig Gameobjects bin Laichen)Zufällige Farbe aus Array für GameObject
int randomIndex = UnityEngine.Random.Range(0, arrows.Length);
GameObject prefab = arrows[randomIndex];
GameObject clone = Instantiate(prefab, new Vector3(0.02F, 2.18F, -1), Quaternion.identity);
//change colors
colors[0] = new Color (250, 250, 250);
colors[1] = new Color (144, 249, 242);
colors[2] = new Color (20, 173, 163);
colors[3] = new Color (21, 129, 168);
colors[4] = new Color (5, 95, 127);
colors[5] = new Color (58, 125, 196);
int colorRandomIndex = UnityEngine.Random.Range(0, colors.Length);
SpriteRenderer renderer = clone.GetComponent<SpriteRenderer>();
renderer.color = colors[colorRandomIndex];
myObjects.Add(clone);
Nein, es funktioniert nicht. Dieser Code funktioniert, aber es gibt zufällige Farben. Wie könnte ich es ändern, so dass es Farben aus dem Array geben würde? 'clone.GetComponent(). Material.color = new Farbe (UnityEngine.Random.Range (0f, 1f), UnityEngine.Random.Range (0f, 1f), UnityEngine.Random.Range (0f, 1f) , UnityEngine.Random.Range (0f, 1f)); ' –
@ KlemenŠkrlj Ich habe meine Antwort bearbeitet, könntest es versuchen. – CNuts
diese Fehler: Schwere \t-Code \t Beschreibung \t Projekt \t Datei \t Linie \t Unterdrückungszustand Fehler \t CS7036 \t Es gibt gegeben kein Argument, das 'a' auf die erforderlichen formalen Parameter von ‚Color32.Color32 (Byte, Byte, Byte entspricht, Byte) –