frage zu collision_rectangle

  • GM 8

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

  • frage zu collision_rectangle

    heyhey, ich steh grad aufm schlauch...

    und zwar ich setzte ein objekt, und möchte dabei überprüfen:
    ob sich in einem bestimmten bereich um mein objekt, weitere objekte des gleichen typs befinden,
    wenn das der fall ist, dann soll eine variable bei allen objekten die sich in dem besagten bereich befinden auf 0 gesetzt werden.



    meine idee zu war

    GML-Quellcode

    1. with collision_rectangle(x+30,y+30,x-30,y-30,build_parent,true,true) other.wall_reset = 0


    aber das funzt leider gar nicht :(

    danke schonmal im vorraus, ich hoffe ihr wisst was ich meine
    gruß Prayer
    Mein aktuelles Projekt: Twiggels Tower Defence :para: :shifty:
    Mittlerweile: Green and Grey
  • Dann geh runter von meinem Schlauch >:

    Also die collision- Funktionen geben leider immer nur eine einzige ID zurück d.h. du kannst nur eine Instanz ansprechen, niemals alle.
    Es gibt verschiedene andere Herangehensweisen an dieses Problem.
    Eine Möglichkeit wäre es den Spieß umzudrehen und (eventuell mittels mittels with-statement wenn diese Vorgang unbedingt vom roten Objekt aus gesteurt werden muss), für die blauen Objekte abzufragen ob wiederum in einem rectangle um sie herum, sich eine Instanz vom roten Objekt befindet. Gegebenenfalls wird dann die Variable auf 0 gesetzt.
    Vergiss aber nicht bei der collision_rectangle Funktion das Argument "notme" auf true zu setzen!

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • hey erstmal danke für die antwort^^ der schlauch liegt leider immernoch unter mir :P

    die 'blauen' objekte zu fragen ob sie eine instance der roten in ihrem umkreis haben, geht leider nicht, da die roten gleich der blauen objekte sind, das war nur wegen der veranschaulichung.

    also es müsste definitiv vom roten objekt ausgehn, von schleifen hab ich mich bis jetzt immer gedrückt könntest du mir bitte ein bsp wie ich da rangehn müsste
    Mein aktuelles Projekt: Twiggels Tower Defence :para: :shifty:
    Mittlerweile: Green and Grey
  • Sorry, hatte erst zu spät bemerkt dass es sich um die selbe Objektart handelt und dann nur die letzte Zeile hinzugefügt weil ichd achte dass es trotzdem gehen würde (dieses notme schließt ja aus dass die ausrufende Instanz ebenfalls mitbeachtet wird).

    Eine Schleife brauchst du nicht denn das with-Statement schließt automatisch alle Objekte des Types ein wenn du statt einer eindeutigen ID, den Index eines Objektes übergibst.
    Also schreib im entsprechenden Event der roten Instanz:

    GML-Quellcode

    1. with(build_parent) // führe folgendes für alle Instanzen des typs build_parent aus.
    2. {
    3. if collision_rectangle(x+30,y+30,x-30,y-30,build_parent,true,true) // wenn im Quadrat eine andere Instanz von build_parents ist
    4. {
    5. wall_reset = 0 // setze die Variable für die instanz selbst auf null
    6. }
    7. }


    Soll die Variable auch für die "rote" instanz ebenfalls auf null gesetzt werden?
    Dann musst du in die innere Klammer noch ein other.wall_reset = 0 schreiben.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

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