Problem mit Schwertschlag

  • GM 7

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

  • Problem mit Schwertschlag

    Hi,

    ich möchte meinen Spieler mit einem Schwert schlagen lasse. Bisher habe ich es so geregelt, das sich das objekt in das objekt schlag geändert hat und dieses nach ende der animation wieder zum objekt spieler wurde. So konnte ich es auch gut mit dem hp abzug des gegners regeln (bei kontakt zum objekt schlag gibts abzug).
    nun aber, beim objekt schlag ist nun neben dem schwert auch der spieler. allerdings möchte ich es gerne so machen, das nur das schwert dem gegner hp abzieht, der spieler an sich nicht, man also auch verfehlen kann.

    nur wie teile ich das objekt so?
    oder wie könnte ich das mit dem schlag anders regeln?

    Danke im Vorraus.

    gruß Terra
  • du kannst auch ganz einfach, anstatt das objekt zu ändern, ein extra objekt erstellen, welches dann die treffer regelt.

    ich lass z.b. bei meinem aktuellen projekt beim schlagen mit dem schwert ein objekt, in abhängigkeit der blickrichtung des spielers, im abstand von 16 pixeln erstetllen.
    dieses objekt prüft dann, ob es einen gegner trifft. und zerstört sich anschließend sofort wieder selbst
  • HIM666 schrieb:

    du kannst auch ganz einfach, anstatt das objekt zu ändern, ein extra objekt erstellen, welches dann die treffer regelt.

    ich lass z.b. bei meinem aktuellen projekt beim schlagen mit dem schwert ein objekt, in abhängigkeit der blickrichtung des spielers, im abstand von 16 pixeln erstetllen.
    dieses objekt prüft dann, ob es einen gegner trifft. und zerstört sich anschließend sofort wieder selbst

    ja das ist die beste lösung, aber ich würde das object sich bewegen lassen und zwar vom spiele an in blickrichtung, die geschwindigkeit muss dann noch an die schwertbewegung angepasst werden und ein alarm event haben bei dem es wieder zerstört wird. so hab ich das zumindest mal gemacht bei einem früheren project das ich aber wieder eingestellt hab



  • ok
    also ich habe es mir jetzt so überlegt, ich mache eine animation bei der der spieler ein schwert schwingt. und eine wo ich den spieler entferne und nur das schwert schwingt.
    allerdings, wie baue ich dann die animation mit dem schwert genau da ein, wo ich sie brauche? :huh:
    der spieler bewegt sich beim shwertschlag nämlich auch ein bisschen
  • GML-Quellcode

    1. draw_sprite(spr_schwer,-1,x,y);


    Das würde das Schwert bei deinem Player zeichnen... Ansonsten könntest du wenn du Schlag drückst ein Objekt erstellen mit

    instance_create(bla);

    was dann z.B. obj_schwert ist.

    Das startet dann mit einem image_index von 0 und hat als Sprite deine Schwertanimation.
    Wenn du zur Kollision nun das extra Objekt benutzt, hast du kein Problem mehr damit, dass du mit dem ganzen Körper vom Spieler Gegner töten kannst.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • Hi,
    also ich habe es jetzt so geregelt, das ein obj mit der schwert animation created wird. allerdings habe ich noch ein kleines problem. wenn der spieler sich während der animation des schwerts bewegt, bleibt diese natürlich stehen :S
    wie könnte ich dieses problem beheben?

    danke soweit!

    Gruß Terra
  • Hi frischideu,
    ich weiß ja nicht, wohin sich der spieler bewegt, während das schwert schlägt.

    nur mir ist gerade eine idee gekommen. ich kann den spieler ja einfach solange das schwert schwingt stehen lassen.
    allerdings bekomme ich es nicht so ganz hin :-/
  • Im create event legst du eine variable fest, meinetwegen

    GML-Quellcode

    1. move = 0


    Und wenn du schlägst setzt du sie auf 1.
    Im w; a; s; d event fragst du dann ab ob die variable 0 ist. Nur dann führst du die Aktion bewegen aus.

    @Spieler: ?( Du lässt ihn doch laufen. Oder verstehe ich das falsch?