RPG: Bogenschießen und Schwertkampf

  • GM 7
  • RPG: Bogenschießen und Schwertkampf

    Hallo...

    ich bin dabei ein kleines RPG zu machen...
    Das Spiel besteht aus 3 Klassen : Krieger , Bogenschütze und Magier.
    Die Zauber sind kein Problem , aber das Bogenschießen ist ein großes Problem :) und Schwertkampf habe ich auch keine Ahnung wie
    das funktionieren könnte...
    Die Kamera ist von oben!

    Zum Bogenschießen: Ich habs so gemacht das wenn man rechte Maustaste drückt dass , die Maus sich zu einem Fadenkreuz ändert.
    Man soll nur mit der linken Maustaste schießen wenn man die rechte Maustaste gedrückt hält

    Schwertkampf: Dort hab' ich keine Ahnung....

    Ich bitte um hilfe...

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

  • Meines Wissens kann man den Mauscursor nur in der Pro Edition verändern. Du kannst aber ein Fadenkreuzobjekt erstellen, und im Step Event sagen dass sich das Sprite an der Mausposition befinden soll, und nur sichtbar sein soll, wenn die rechte Maustaste gedrückt ist:

    GML-Quellcode

    1. x = mouse_x;
    2. y = mouse_y;
    3. if mouse_check_button(mb_right)==true then visible := true;
    4. else visible := false;
    Dabei bleibt aber der Mauscursor sichtbar, nur dass ein Fadenkreuz zusätzlich da ist. Du kannst es mit x = mouse_x+3 auch anpassen.

    Im Mouse Left Button Event prüfst du dann, entweder ob das Objekt Fadenkreuz sichtbar ist, oder ob gerade die rechte Maustaste gedrückt ist. Dann lässt du ein Pfeilobjekt an der Position des Spielers erstellen und im Create Event dieses Objekts bewegt es sich in Richtung Maus:

    GML-Quellcode

    1. if fadenkreuz.visible = true then
    2. instance_create(player.x,player.y,Pfeilobjekt);
    3. //Pfeilobjekt Create Event
    4. move_towards_point(mouse_x,mouse_y,speed);
    Für Speed musst du dann eine passende Zahl angeben

    Mit dem Schwertkampfproblem: Überleg dir was und versuchs umzusetzen :P

    ____
    Adventskalender 2010: Blue Smiley
  • Es gibt viele Möglichkeiten das zu lösen, ich persönlich stehe da total auf Variablen.
    Soll heißen in das Event "right pressed" den grauen "var" Button rein. Dann bei variable: Bogen oder kampf oder aktiv oder sonst irgendwas rein und bei Value dann 1 rein.
    und wenn du dann in das "leftpressed-Event" den blauen "var-Button" packst schreibst du da auch wieder variable bogen, kampf oder aktiv rein und die variable 1 (equal to) und da drunter packst du dann alles was passieren soll.
    Dateien
    • test.zip

      (14,51 kB, 217 mal heruntergeladen, zuletzt: )
  • hmmm... das von dir funktioniert nicht Gimero ...
    Ich habe es gerade so:

    Also... da ich Lite habe habe ich bei beiden Mausobjekten ins Step Event : jump to a given position : Mouse_x , Mouse_y

    Ins Objekt obj_cursor habe ich : Step Event : jump to a given position : Mouse_x , Mouse_y
    Glob. Right Button: Change instance into : obj_cross


    Ins Objekt obj_cross habe ich : Step Event : jump to a given position : Mouse_x , Mouse_y
    Glob Right Released: Change instance into : obj_cursor
    Glob Left pressed : Create instance obj_pfeil ; x: obj_player.x , y: obj_player.y


    Und ins obj_pfeil habe ich :

    GML-Quellcode

    1. Create Event : move_towards_point(mouse_x,mouse_y,10);


    Jetzt habe ich das Problem dass , der Pfeil immer nach rechts zeigt :(
  • OK verstanden.
    Mit der lite version kannst du kein image_angle verwenden womit du somit für alle paar grad ein neues pfeisprite machen musst.D.h. wenn du alle 4 grad ein neuen Pfeil machst brauchst du 90 pfeile.Dann glaub ich (bin mir grad nicht sicher)

    GML-Quellcode

    1. image_single = direction / 4;
  • Warum machst du es denn so umständlich und lässt für Mouse Pressed und Released neue Objekte erstellen? Einfacher wäre es nur das Sprite zu wechseln.

    Murloc717 schrieb:

    hmmm... das von dir funktioniert nicht Gimero ...
    Doch, nur wie man es anwendet ist ne andere Sache.

    Und dass ein Objekt in die Richtung schaut wohin es sich bewegt, wird doch in dem von dir erstellten Thread hier von HIM666 erklärt.

    ____
    Adventskalender 2010: Blue Smiley
  • Ich denke mit ein bisschen Eigeninitiative hättest du das auch geschafft.^^
    Der Schwertkämpfer könnte bei linker Maustaste ein Schwertobjekt in Richtung Maus erstellen, welches per Alarm nur kurz sichtbar ist und dann wieder weg ist. Bei Gegnern prüfst du dann eine Kollision mit dem Schwertobjekt. Ich würde dann aber auch das Fadenkreuz miteinbauen, sprich nur schlagen, wenn auch die rechte Maustaste gedrückt ist. Denn sonst wäre der Schwertkämpfer dem Bogenschützen, der 2 Tasten drücken muss, etwas im Vorteil.

    ____
    Adventskalender 2010: Blue Smiley
  • Benutzer online 1

    1 Besucher