instance_position - Abfrage mit mehreren Objekten an gleicher Stelle?

  • GM 8

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

  • instance_position - Abfrage mit mehreren Objekten an gleicher Stelle?

    Guten Abend liebe Leute,

    ich würde gerne wissen, ob es einen Weg gibt die ID einer Instanz die sich direkt bei den Mauskoordinaten befindet, abzulesen,
    wenn sich besagte Instanz hinter einem anderen Objekt befindet.
    Mit instance_position bekomme ich nicht immer genau die Instanz die ich möchte.
    Was ich bräuchte wäre so etwas wie instance_position_next um weitere Instanzen durchzugehen die sich ebenso bei mouse_x und mouse_y befinden.
    So etwas gibt es aber leider nicht.
    Momentan komme ich da auf keine (performante) Lösung.

    Genauer gesagt möchte ich eine Instanz die sich (mit instance_position) bei den Mauskoordinaten befindet zerstören,
    wenn sie visible ist. Wenn allerdings eine andere Instanz darüber ist, die nicht visible ist, zerstöre ich die nicht sichtbare Instanz.
    Wenn es geht möchte ich umständliche Schleifen vermeiden, da ich ohnehin schon mit vielen Objekten zu tun habe.

    Wenn jemand eine Lösung oder einen Lösungsansatz hat wäre ich sehr dankbar. :)
  • Du musst mit with alle Instancen eines Objektes durchgehen und dann im with-Loop mit place_meeting prüfen ob eine Kollision besteht (gibt keine andere mir bekannte Methode, außer vielleicht mit GMAPI und einer DLL):

    GML-Quellcode

    1. with(argument2) {
    2. if (visible && place_meeting(argument0, argument1, id)) {
    3. return id;
    4. }
    5. }
    6. return noone;
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Aus irgendeinem Grund will das nicht funktionieren, obwohl es eigentlich funktionieren sollte ... :huh:
    Ich sollte vielleicht auch dazusagen, dass ich Studio verwende (gabs nicht zur Auswahl als Präfix für das Topic), Version 1.2.1130.
    Wenn ich statt der id im Script object_index abfrage, gibt er mir wie gewohnt die id der ersten Instanz des entsprechenden Objekts aus,
    was in meinem Fall aber unbrauchbar ist.
    Irgendwie scheint es fast so, als hätte Studio mit der Abfrage von id Probleme ...

    Edit/

    Interessanterweise funktioniert es so:

    GML-Quellcode

    1. with(argument2)
    2. {
    3. if (visible and id == instance_position(argument0,argument1,id))
    4. {
    5. return id;
    6. }
    7. }
    8. return noone;


    Edit2,3/ Kleine Korrektur

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von RLP ()

  • Irgendwie hat der gm manchmal komische Fehler...
    Bei mir ging mal ein else nicht.. da musste ich dann halt 2ifs nehmen...
    Warscheinlich ist das auch son Fehler :D
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D