Verschiedene Aktionen bei Kollison aus verschiedenen Richtungen

  • Win

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

  • Verschiedene Aktionen bei Kollison aus verschiedenen Richtungen

    Guten Abend zusammen.

    Ich sitz nun schon ne weile an einem Problem(chen). Ich habe ein Objekt Player (32x32) und eine Bombe (32x32)

    Nun möchte ich das wenn der Player von links die Bombe berührt per hspeed- zurückgeschleudert wird.
    Wenn der Player von oben kommt und die Bombe berührt nach obengeschleudert wird per vspeed -
    Wenn der Player von unten kommt und die Bombe berührt nach untengeschleudert wird per vspeed +
    Wenn der Player von rechts kommt und die Bombe berührt nach rechts geschleudert wird per hspeed+

    Habe schon hier gesucht nach "Auf Gegner springen" etc aber irgendwie haben die codes einfach nicht funktioniert.
    Aber wahrscheinlich ist das ganze für euch kein Problem :) Wäre froh über eine kleine Hilfe / Codebeispiel.

    Danke!
  • Je nach dem wie fein du es animieren willst, aber ich würde dir etwas in der art empfehlen:

    GML-Quellcode

    1. if (place_meeting(x+hspeed, y+vspeed, obj_bomb))
    2. {
    3. hspeed *= -1;
    4. vspeed *= -1;
    5. alarm[0] = abs(hspeed-vspeed);


    damit wird hspeed oder vspeed umgedreht, je nachdem wie du dich grade bewegst und x+hspeed bzw y+vspeed damit die abfrage egal bei welcher geschwindigkeit korrekt ist. Mit einem Alarmevent zB könntest du den Punkt bestimmen bei dem du dann stehenbleibst, oder du verringerst dann immer die Geschwindikeit

    abs() gibt dir immer den absoluten Wert von etwas wieder, also wenn hspeed -vspeed zB -8 -0 ist, dann ist abs(-8-0) einfach 8

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)