unity Variable soll ein Name sein

...komplette Frage anzeigen

3 Antworten

Kontext wäre sehr hilfreich.

Was willst du machen? Welche Variable soll ein Name sein? Welche Überlegungen / Versuche hast du schon unternommen, um dein Problem zu lösen? Zum besseren Verständnis ist sicherlich der Code der Klasse "WaitForSeconds" und der Methode "StartCoroutine()" hilfreich.

droni1234 13.06.2014, 18:35

ich möchte current auf music1 setzen das geht nicht was muss ich davor tippen

0
JavaTheHutt 13.06.2014, 20:34
@droni1234

Da Music1 vom Typ AudioClip ist, muss die Variable current auch vom Typ AudioClip sein.

Bei C# gibt es (ab .NET 3.5, denke ich) auch die Möglichkeit anstatt eines konkreten Typs auch einfach "var" schreiben. Der Compiler weiß dann trotzdem von welcher Klasse das Objekt ist.

Als Anmerkung: Entscheide dich bitte, ob du Variablennamen von Objekten groß oder klein schreibst. Das Durcheinander macht es für andere schwerer zu lesen. (Ich empfehle sie klein zu schreiben.)

0
droni1234 13.06.2014, 20:48
@JavaTheHutt

danke aber ich hab es gelöst mit if und current 1 also current music1 ist 1 und mit if sätzen und bla bla

0

warum kein Array aus AudiClips ?

Donat47 15.06.2014, 14:12

So wie ich das sehe ist ein Teil der Routine gleich -> schreib ne Funktion/Methode

und wenn du das eh endlos wiederholst Warum keine while schleife ?

0
Donat47 15.06.2014, 14:36
@Donat47
///<summary>
spielt Clips ab
///</summary>

public AudioClip[] MusicClips
public NeEnum State {get; set;} // mal noch erweitern
public int index {get; set;} //ERWEITERN!!!

void Update(){

    if(Input.KeyDown("Fire1")){
        
        if (State = NeEnum.Pause) { //Bin zufaul noch ne Enum zu schreiben
            State = neEnum.Play;
            StartCoroutine( PlayMusic () );
        } else {
            State = NeEnum.Pause;
        }
    
    }

}

private IEnumerator PlayMusic(){
    while (State = State.Play){
            audio.clip = MusicClips[index];
        audio.Play();
        yield return new WaitForSeconds (MusicClips[index].Lenght); // oO
        index += 1;
}
0
Donat47 15.06.2014, 14:37
@Donat47

jetzt mal so frei herausgeschrieben,mit fehlern und ist unvollständig,aber so ähnlic sollte es gehen

0

Welche Sprache? wenn es nicht c++ ist kann ich dir nicht helfen, sorry.

Donat47 15.06.2014, 14:10

sollte c# sein

0

Was möchtest Du wissen?