Mehere Instanzen ansprechen in Drag and Drop

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

  • Mehere Instanzen ansprechen in Drag and Drop

    Hallo Zusammen!

    Ich habe eine Frage bezüglich des Drag and Drop Projekts in Game Maker 2. Ich habe mehere Instanzen eines Objekts (obj_gegener), die sich automatisch in Richtung der Spielfigur bewegen. Nun möchte ich zu jeder Zeit die Koordinaten der Instanzen abrufen können. Mit obj_gegner.x und obj_gegner.y kann ich nur die Koordinaten einer Instanz abrufen. Wie kann ich in einem Drag and Drop nun auf die Koordinaten der anderen Instanzen zugreifen? Sollte eigentlich mit einem Array gehen, aber ich habe noch keinerlei Erfahrung mit Game Maker und dem Drag and Drop Modus.

    Vielen Dank im Voraus!

    Dennis
  • Hmm also ganz ohne code wirst du da vermutlich nicht auskommen. Du kannst allerdings
    with (obj_gegner) {...} benutzen. Dabei wird der code in den geschweiften klammern dann für jede Instanz des objektes ausgeführt. Ansonsten gibt es noch instance_find(obj,n) was dir eine spezifische ID wiedergibt wobei obj dein objekttyp und n eine Zahl von 0 bis instance_number(obj)-1 ist. Am besten sagst du uns was du ganz genau vorhast.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
  • Vielen Dank für die Antwort!
    Ich möchte einen Arena Shooter programmieren, ähnlich diesem hier: marketplace.yoyogames.com/assets/4678/yoyo-arena-shooter-dnd.
    Es gibt einen Spielfigur und es spawnen mehrere Gegner auf dem Spielfeld. Diese bewegen sich auf den Spieler zu und versuchen diesen mittels eines Laserstrahl abzuschießen. Hierfür brauche ich die Koordinaten aller Instanzen des Objekts obj_gegner, damit ich den Laserstrahl von den Koordinaten des Gegners aus abfeuern lassen kann. Im Moment schießt nämlich immer nur ein Gegner auf dem Spieler, nämlich der mit den Koordinaten obj_gegner.x / obj_gegner.y.
    Bin durchaus auch bereit, mit Code zu arbeiten, falls das im Drag and Drop Modus nicht möglich ist ;-).

    Dennis
  • In diesem Fall solltest du das nicht vom Spieler aus steuern. Im Zombieobjekt brauchst du dann einfach im Step event sowas :

    GML-Quellcode

    1. var target = instance_nearest(x,y,obj_player);//finde den nähsten spieler und speichere seine ID in target
    2. if (target !=noone) { //wenn der spieler existiert
    3. if (point_distance(x,y,target.x,target.y) < 200) {
    4. //wenn der spieler 200pixel oder näher ist
    5. // jetzt kannst du target.x und target.y nutzen
    6. if (random(5) < 1) {
    7. var bullet = instance_create(x,y,obj_bullet);
    8. bullet.speed = 10;
    9. bullet.direction = point_direction(x,y,target.x,target.y);
    10. }
    11. }
    12. }
    Alles anzeigen
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: