Solides Zerquetschen

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

  • Solides Zerquetschen

    Hallo zusammen!
    Undzwar würde ich gerne meine Spielfigur zerquetschen, wenn eine Tür, die zuvor geöffnet wurde, den Spieler beim runterfahren zerquetscht.

    Ich habe eine ähnliche Frage gefunden, leider funktioniert es mit:

    GML-Quellcode

    1. if !place_free(x,y+2) && !place_free(x,y-2)
    2. dead = 1;


    ..nicht so recht, weil 1. der Spieler ab und an unerklärlich ~300 pixel nach rechts springt. Und die Tür, welche mit: "x=xstart+whatever" sich öffnet und schließt, plötzlich stehen bleibt. und sich keinen pixel mehr bewegt.

    Hat jmd. eine Idee?

    Grüße! :)

    P.S.
    hat jmd. eine GUTE Jump & Run / Platformer Engine? Habe hier eine gefunden, aber leider ist der Link down :/
    und die ganzen Tutorials sind auch alle gleich die ich finde :rolleyes:
  • Ich verstehe nicht genau wie du das am Ende haben willst. Ist es eine automatische Tür die wie eine Aufzugstür funktioniert oder wie ein Tor, welches sich von oben schließt? Dazu noch wie groß das Sprite ist etc. Dazu soll der Spieler in der Tür sterben oder nur zerquetscht werden?

    Idee, nicht getestet:
    Von oben schließende Tür:

    GML-Quellcode

    1. if not place_free(x,y-10) and place_meeting(x,y,obj_tür)
    2. {
    3. if in_door > 0 { in_door -= 0.1 }
    4. }
    5. else
    6. {
    7. if in_door < 1 { in_door += 0.1 }
    8. }
    9. image_yscale = in_door


    Eventuell muss noch y verändert werden, je nach Origin des Sprites
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • Hallo Dufner!

    Ich hab mir das so vorgestellt:



    Eine tür, die sich mit einer nach unten bewegt. Wenn der Spieler zwischen der tür steht soll er ~ platzen ( dead = 1;)

    Das Problem ist die Tür bewegt sich mit: x = x+parent.i*60

    Wenn der Spieler aber im Weg steht, bleibt die Tür aus einem unerklärlichem grunde Stehen...

    hat vlt. jmd. eine GUTE Jump and Run engine???
  • warum x wenn die Türe nach unten geht? :D versuchs mal so: y = y+parent.i*60
    Ansonsten kann ich ohne Code nicht viel helfen, poste mal den gesamten Code von der Türe, damit ich sehe wie sie bis jetzt funktioniert.
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • So könnte der Code z.B. aussehen:

    GML-Quellcode

    1. if point_distance(x,y+sprite_height/2,obj_Player.x,obj_Player.y) < 32
    2. {
    3. if mach_auf = 0
    4. {
    5. mach_auf = 1;
    6. richtung = "hoch";
    7. }
    8. }
    9. if mach_auf = 1
    10. {
    11. if richtung = "hoch"
    12. {
    13. if y > ystart-64 y -= 2 else if alarm[0] = -1 alarm[0] = 60;
    14. }
    15. if richtung = "runter"
    16. {
    17. if y < ystart y += 2 else mach_auf = 0;
    18. if place_meeting(x,y+1,obj_Player)
    19. {
    20. if obj_Player.image_yscale > .2 obj_Player.image_yscale -= .2;
    21. }
    22. }
    23. }
    Alles anzeigen


    Ich hab ein example gebastelt, hoffe das hilft dir. (als Anhang)
    Dateien
    • zerquetschen.rar

      (785,26 kB, 289 mal heruntergeladen, zuletzt: )