Wie kann ich meine Schalter vererben ?

  • GM 8

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

  • Wie kann ich meine Schalter vererben ?

    Hi liebe gm-d community
    Ich habe einige Schalter gebaut und würde diese nun gerne ihre eigenschaften weitergeben lassen.
    Code für den Schalter
    Create:

    GML-Quellcode

    1. image_speed = 0;
    2. tester = 0; // an und aus für den Schalter


    Key Press Event:

    GML-Quellcode

    1. gate = global.references[101, 1]; //Tor, welches auf den Schalter reagiert
    2. if (collision_rectangle(bbox_left,bbox_top,bbox_right,bbox_bottom,obj_hero,0,1) && tester == 0){//Abfrage ob Schalter und Falle den Spieler berühren
    3. tester = tester + 1;
    4. image_index=1; //image Falle
    5. gate.image_index=1; //image Gate
    6. }else{
    7. if (collision_rectangle(bbox_left,bbox_top,bbox_right,bbox_bottom,obj_hero,0,1)&& tester !=0){
    8. tester = 0; //reset
    9. image_index=0; //image Falle
    10. gate.image_index=0; //image Gate
    11. }
    12. }
    Alles anzeigen


    und im Gate steht
    Create:

    GML-Quellcode

    1. image_speed = 0;
    2. global.references[101, 1] = id;


    Nun würde ich gerne mehrere Schalter und dazugehörige Gates (die ich auf und zu machen kann) erstellen. Gibt es eine möglichlkeit, wie ich meine Parents ( der vorherige code) umbauen muss, damit ich lediglich z.b. in das Create des Schalters
    gate.global.references[101, 2], gate.global.references[101, 3], gate.global.references[101, 4] schreiben muss und jeweils dann mein Gate 2, 3, 4 durch den dazugehörigen Schalter angesprochen wird??
    Ich habe schon selber rumprobiert, was in wildes delete drücken ausgeartet ist *g* ich hoffe jemand ist in der Lage mir zu helfen :) danke schonmal.
  • ganz einfach,

    du erstellst ein objekt... obj_schalter_parent.

    diesem objekt weist du den code zu den du vererben willst.

    bei deinen weiteren objekten, kannst du dann links im fenster das parent festlegen.
    kannst dann dein obj_schalter_parent einfach auswählen.

    willst du das ein schalter noch zusätzlich weitere funktionen haben soll, kannst du sie einfach im objekt hinzufügen...

    ich hoffe ich hab das ist das was du meintest :D...

    gruß gruen

    edit: hab deinen post nicht zu ende gelesen... vermutlich doch nicht das ws du suchst...


  • Wenn du die IDs aller Tore irgendwo in global.references gespeichert hast, muss das Tor eigentlich nur noch wissen, auf welche stelle in dem Array es zugreifen soll. D.h. du legst dir eine Variable "gateID" an, und greifst dann auf "global.references[101, gateID]" zu. Dafür brauchst du nichtmal Parents, sondern kannst für jeden Schalter das gleiche Objekt verwenden.

    Um nun jedem Schalter seine eigene "gateID" zuzuweisen, kannst du den Instance Creation Code verwenden: Im Raumeditor Strg+Rechtsklick auf den Schalter -> "Creation Code...".
  • Hallo!
    Ich hatte mal einen Grundlagen-Text zur Vererbung geschriben, vielleicht hilft das weiter: Verwendung von parents
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • CAS schrieb:

    Wenn du die IDs aller Tore irgendwo in global.references gespeichert hast, muss das Tor eigentlich nur noch wissen, auf welche stelle in dem Array es zugreifen soll. D.h. du legst dir eine Variable "gateID" an, und greifst dann auf "global.references[101, gateID]" zu. Dafür brauchst du nichtmal Parents, sondern kannst für jeden Schalter das gleiche Objekt verwenden.

    Um nun jedem Schalter seine eigene "gateID" zuzuweisen, kannst du den Instance Creation Code verwenden: Im Raumeditor Strg+Rechtsklick auf den Schalter -> "Creation Code...".
    1a Danke wuste nicht, dass es diese Option gibt