Rankommen an die Instanzvarialben

  • Rankommen an die Instanzvarialben

    Hallo, ich bin neu hier, und habe auch sogleich eine kleine Frage:
    Und zwar geht es darum, das ich, wenn ich ein Objekt anklicke, ein weiteres erschaffen möchte, aber mit den lokalen Werten der Instanz (da von dem Objekt mehrere Instanzen exestieren), die dann als draw Event ausgeben wird.
    KURZ: Klick auf Instanz 42, neue Instanz eines anderen Objekts erschaffen. Werte der in Instanz 42 festgelegten lokalen Variablen als DRAW Event in der neuen Instanz darstellen.
    Klingt vielleicht nicht sehr einleuchtet. Es hat den Hintergrund das ich eine Art Master of Orion bastel, und es pertu nicht hinbekomme die Planetendetails bei einem klick auf diesen in einem seperaten Fenster (Objekt das wie ein Fenster aussieht) mit dessen lokalen Werten darzustellen. Darüberhinaus weiss ich nicht, wie ich die Werte, wenn ich sie durch ein BOTTON veränder, mit der angeklickten Instanz abgleichen kann. Wenn es ne möglichkeit gäbe, an die Instanz ID ranzukommen (get.ID(angeklickte Instanz)), könnte ich dann diese ja überschreiben (ID.wert1 = neuerwert).
    Danke schon jetzt für eure Hilfe, ich verharre auf Antwort und werd mich melden, falls mir eine Lösung eingefallen ist.

    Duplex
    "Ich würde die Welt verändern, komm aber nicht an den Quellcode ran!"
  • Nebenbei: "Wow, schnelle Antwort..."

    Also, ich würde sagen teils teils. Ich verwende Scripts zum darstellen von dingen (draws) oder zum erzeugen von Instanzen (raumschiffe, minen: halt alles was man nachträglich ergänzen kann).
    In Actions von den Objekten lege die Werte Fest. Z.B. habe ich mehre Arten von Planeten die man besiedeln kann (Terra, Eis, Mars,...). In diesen schreib ich in die CREATE AKTION den gleichen Quellcode mit angepassten Werten (z.B. kann man auf der Erde mehr Minen bauen, var maxMinen = 10, auf dem Eisplanet nur 4, var maxMinen = 4).
    Könnte ich auch in nem Script machen, aber was würde mir das für einen Vorteil bringen. Also, allgemein versteh ich C++, deshalb war es nicht schwer die Scriptsprache zu lernen. Dennoch, hab ich umso weniger Ahnung wie man am besten ein Spiel im Gamemaker "zusammenklickt"! Und für manche Probleme scheints in meinem kleinen Kopf keine Lösung zu geben!
    :(
    Ich hatte die Idee, einfach alle Werte in global.Variablen zu kopieren. Dann kann ich die auch darstellen, in jeder anderen neu erzeugen Instanz. Aber das find ich irgendwie total schlecht. Ausserdem kann ich ja dann die Werte einer Instanz nicht mehr ändern... sondern nur die der global.Varialben.
    "Ich würde die Welt verändern, komm aber nicht an den Quellcode ran!"

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Duplex(tm) ()

  • Am besten du speicherst die ID der anderen Instanz gleich beim erstellen . Etwa:

    unter_instanz=instance_create(...)

    draw_text(...x,...y,unter_instanz.variable1);

    weiß nicht ob die Befehle genau stimmen, da ich keinen GameMaker da habe aber im Prinzip lassen sich so Variablen übertragen. Du kannst danach mit
    unter_instanz.variable1=self.variable1;
    auch eigene Variablen ans andere Objekt weitergeben. Vielleicht hilft dir das weiter.
    Einige meiner Spiele:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von interceptor ()

  • Danke für die Hilfestellung... ich habe mir aus deinem Post ne Idee gebastelt. Ich lade einfach die ID in eine globale ID! Dann kann ich von jeder Instanz drauf zugreifen, ändern, darstellen und und und! Danke nochmal! Na ja, ich muss erst mal die Bastelweise und die typischen Variablen und Funktionen mir aneignen. Danke, tolles Forum mit viel Feedback!

    Duplex
    "Ich würde die Welt verändern, komm aber nicht an den Quellcode ran!"