Teste Leere zwischen zwei Objekten

  • GM 8

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

  • Teste Leere zwischen zwei Objekten

    hey,
    kleines Problem:

    Wie teste ob etwas zwischen zwei Objecten ist oder nicht?

    Beispiel:

    O1 O1
    :action_drawsprite: :event_collision: :event_collision: :event_collision: :event_collision: :event_collision: :action_drawsprite:

    so, da wäre jetzt ja kein Objekt, also würde der weitere Code weiter gehen.
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • GML-Quellcode

    1. if place_empty(x,y)
    2. if place_free(x,y)
    3. if not place_meeting(x,y,obj)
    4. if not collision_line(x,y,x+32,y,obj,1,1)


    suchs dir aus^^ du kannst eine collision line zwischen den zwei Objecte drawen und wenn die false zurück gibt ist etwas dazwischen. die oberen 3 befehle müsstest du in beiden Objecten ausführen zB 1x mit -32 1x mit +32.
    Kommmt drauf an was du vorhast und ob sich die beiden Objekte synchron bewegen.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • GML-Quellcode

    1. var obj = collision_line(x, y, x2, y2, obj_zum_testen, true, true);
    2. if (instance_exists(obj)) // oder wenn du wirklich ober-mega-cool sein willst if (obj > 0) oder noch cooler if (obj != noone)
    3. {
    4. // Edit von Irrenhaus3, falls du NOCH cooler sein willst:
    5. // if collision_line(x,y,x2,y2,obj_zum_testen,true,true){
    6. // es wurde mind ein objekt von "obj_zum_testen" (das erste was getroffen wurde) gefunden zwischen der linie von x, y zu x2, y2
    7. }
    8. else
    9. {
    10. // nix getroffen \o/
    11. }
    Alles anzeigen

    collision_line gibt das erste getroffen objekt zwischen x, y und x2, y2 zurück
    falls kein objekte dazwischen liegt wird -4 (noone) ausgegeben.
    :saint:

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