Wie weise ich einem Objekt eine selbstdefinierte Eigenschaft in Form einer Variablen zu?

  • GM 8
  • Wie weise ich einem Objekt eine selbstdefinierte Eigenschaft in Form einer Variablen zu?

    Hallo, ich habe Probleme damit, einige Variablen (oder besser Eigenschaften) bestimmten Objekten zuzuweisen. Ich neige dazu, zu schreiben

    GML-Quellcode

    1. global.variable[obj_xy] = true

    oder so. Das macht GML auch artig - bloß bei der Auswertung denkt es natürlich immer, ich rede von einem Array. Und dann hagelt es teilweise Fehlermeldungen. Da ist aber kein Array weit und breit. Wie kann ich denn sonst einem Objekt eine selbstdefinierte Eigenschaft zuweisen?
    Danke schon mal im voraus,
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • Ich bin mir nicht sicher, was du meinst, aber vielleicht hilft dir das hier...
    maxda

    Edit: Was soll das: obj_xy.global.variable=true denn heißen? obj_xy besitzt eine globale Variable?

    Ich glaube meine Lösung ist nicht das was du meintest...
    Was ist mit obj_xy.variable?

    Edit2: Meinst du, dass du allen Instanzen eines Objects eine Variable Zuordne willst? Das geht mit with (obj_xyl) {variable=123}
  • -$Marvin$- schrieb:

    wenn ich das richtig verstanden hab müsste es so gehen:

    GML
    1
    obj_xy.global.variable=true


    Das geht, aber offenbar nicht mit globalen Variablen, nur mit lokalen. Notfalls greife ich aber darauf zurück. Danke.

    @ Maxda: Für den Fall, daß ich mich nicht richtig ausgedrückt haben sollte: Ja, ein Objekt soll eine bestimmte (globale!) Variable zugewiesen bekommen. Nämlich dann, wenn es für kurze Zeit für eine bestimmte Aktion verändert wurde. Irgendwie muß ich ja feststellen, ob es verändert wurde. In meinem Fall werden 2 Objekte ineinandergezeichnet, die sich danach wieder trennen. Deshalb muß ich irgendwie erkennen, ob das Objekt gerade betroffen ist oder nicht. Und nein, ich möchte nicht von jedem der 100 Objekte noch extra jeweils ein 2. Objekt erstellen, was natürlich die einfachste Lösung wäre. Ich dachte halt, daß ich einem Objekt auch eine eigene Eigenschaft in Form einer Variablen zuweisen kann.
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • Archie schrieb:

    [...]Das geht, aber offenbar nicht mit globalen Variablen[...]Ich dachte halt, daß ich einem Objekt auch eine eigene Eigenschaft in Form einer Variablen zuweisen kann.[...]
    Kannst du, allerdings nicht mit einer globalen Variable.
    Wie der Name "global" schon sagst, kannst du diese Variable überall in deinem Spiel abrufen und deshalb gehört sie nicht zu einem Objekt!
    Und das "obj_xy.global.variable=true" funktioniert deswegen (so wie du es willst zumindest) auch nicht.

    Verwende lieber lokale Variablen, die kannste dann mit

    GML-Quellcode

    1. with(obj_xy){
    2. if(variable){
    3. //Dein Code, wenn die Varialbe true ist...
    4. }
    5. }

    abfragen.

    mfg. Tobi97
    8|
  • Benutzer online 3

    3 Besucher