Noch einmal unterschiedliche Sprites

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Noch einmal unterschiedliche Sprites

    Hallo noch einmal

    Wollte mich noch einmal bei Raeumler bedanken für seine Aufmerksamkeit von dem Wort Castle.
    Dies aber nur neben bei.
    Die Hilfe hat auch sehr gut funktioniert. Aber leider klappt es nicht so wie ich es mir ausgedacht habe. Es wird zwar das Objekt an der richtig Position gesetzt, aber er änder auch alle Sprits in das selbe Bild um. (Bild = Farbe)

    Habe aber noch eine Frage bezüglich meine einlese Routine. Er spuckt mir folgende Fehlermeldung aus
    Error in code at line 47:
    obj_Schluessel.image_index = Farbe
    at position 35: Unknown variable Farbe or array index out of bounds

    Wer weis woran es liegen kann. Da er ja die xx[i], und yy[i] korrekt einlest.
    Und hier nun der Code

    GML-Quellcode

    1. {
    2. var xx,yy,Farbe,AnzahlSchl;
    3. AnzahlSchl = 2;
    4. // Schlüssel 1
    5. xx [0]=50;
    6. yy [0]=100;
    7. Farbe [0]=2;
    8. // Schlüssel 2
    9. xx [1]=550;
    10. yy [1]=200;
    11. Farbe [1]=9;
    12. {
    13. for (i=0; i<AnzahlSchl; i+=1)
    14. instance_create(xx[i],yy[i],obj_Schluessel)
    15. obj_Schluessel.image_speed = 0
    16. obj_Schluessel.image_index = Farbe[i]
    17. }
    18. }
    Alles anzeigen


    Habe es auch mit obj_Schluessel.image_single = Farbe[i] probiert. Klappt leider auch nicht.
    Wenn halt alles nichts Hilft, werde ich wohl oder übels 15 Schlüssel, Türschlösser als einzelne Objekte erstellen müssen. Dies wäre aber der letzte Ausweg.
  • Du hast die { } an der falschen Stelle, so muss es richtig sein:

    GML-Quellcode

    1. {
    2. var xx,yy,Farbe,AnzahlSchl;
    3. AnzahlSchl = 2;
    4. // Schlüssel 1
    5. xx [0]=50;
    6. yy [0]=100;
    7. Farbe [0]=2;
    8. // Schlüssel 2
    9. xx [1]=550;
    10. yy [1]=200;
    11. Farbe [1]=9;
    12. for (i=0; i<AnzahlSchl; i+=1)
    13. {
    14. instance_create(xx[i],yy[i],obj_Schluessel)
    15. obj_Schluessel.image_speed = 0
    16. obj_Schluessel.image_index = Farbe[i]
    17. }
    18. }
    Alles anzeigen
  • Mit

    GML-Quellcode

    1. obj_Schluessel.image_speed = 0
    2. obj_Schluessel.image_index = Farbe[i]

    änderst du die Variablen von allen Instanzen des Objektes obj_Schluessel. Um nur auf die Instanz zuzugreifen, die du eben erstellt hast, mach folgendes:

    GML-Quellcode

    1. inst=instance_create(xx[i],yy[i],obj_Schluessel)
    2. inst.image_speed = 0
    3. inst.image_index = Farbe[i]

    Das geht, da instance_create die ID der erstellen instanz zurückgibt. Damit kannst du dann auf die Variablen von nur dieser Instanz zugreifen
    “Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)

    Ich schreibe mit Neo.