Charakter Bewegen und Richtige Sprites

  • GM 7

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

  • Charakter Bewegen und Richtige Sprites

    Hallo,
    ich mache gerade mein Spiel und möchte meinen Charakter mit denn Pfeiltasten bewegen und Sprites einfügen.


    Habe schon für

    Keyboard links

    GML-Quellcode

    1. x -=6

    Keyboard rechts

    GML-Quellcode

    1. x +=6

    Keyboard oben

    GML-Quellcode

    1. y -=6

    Keyboard unten

    GML-Quellcode

    1. y +=6


    Das ist ja auch schon mal das beste oder?

    Und mein Problem ist die Sprites richtig einzufügen. Wenn ich z.B. Für Key Press in alle (links, rechts, oben, unten) richtungen ein Sprite das sich Bewegt einfüge. Und bei Key Release in alle richtungen (links, rechts, oben, unten) die gleichen Sprites ohne Bewegung einfüge. Dann ist im Spiel, wenn ich z.B. nach oben links gehe, also oben unten links gedrückt halte und dann links loslasse das er zwar weiter nach oben geht aber ein falsches Sprite hat.

    Tut mir leid wenn ihr das Thema schon hattet aber habe in der Suchfunktion nichts passendes gefunden ;(
    Mein Aktuelles und auch einziges Projekt ist "The Color of Life"
    Es wird ein Rollenspiel! Eine lange Story die auch gut ist. Das umzusetzen dauert eben bis 2011!
    Freue mich über jede Hilfe die ich bekommen kann. ^^
    Bald GM8 :thumbsup: wird der hammer xD
  • in 2d Spielen Nutze ich immer diese Variante, für zum beispiel einheiten aller alramstufe rot.
    Wenn du nun 8 bilder hast. (Himmelsrichtung englisch)
    e,ne,n,nw,w,sw,s,se,
    das ist die richtung gegen den urzeiger sin von lrechts an aus gehend.
    Rechts.rechtsoben.oben usw usw.

    Wenn du jetzt das hir im step iven einsett müste es gehen. hab es eben selber für tewas gebraucht.
    PS. die die bilder müssen auch in der oben genantn reinfolge im speicher sein. Da direction O immer rechts ist.

    GML-Quellcode

    1. {
    2. image_single = direction * image_number/360;
    3. }
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Wenn es sich um ein topdown spiel handelt ist es immer noch am einfachsten zu schreiben:

    GML-Quellcode

    1. image_angle=direction

    das dreht das bild immer in die richtung in die du gehst, aber nur bei topdown spielen.
    PS: wenn du die direction funtion benutzt, musst du die vspeed und hspeed funktion bei den tasten benutzen

    @x-sascha
    Es lohnt sich immer einen blick auf das profil vom anderen zu werfen, denn dann weiß man auch das wir hier von GM7 reden und nicht von GM6
  • Die sicht ist von oben wie bei Zelda spielen.



    Wenn ich das ins Step Event einfüge (soll ja da rein)

    GML-Quellcode

    1. {
    2. image_single = direction * image_number/360;
    3. }




    Und die Sprites... (habe 1 für jede richtung up, down, left, right) sollen die wie ich schon geschrieben habe ins press und release event???

    Oder kann ich das irgendwie auch bei Keyboard (up, down, left, right) einfgen??? Das müsste doch auch mit codes gehen.



    @SDK und x-sascha

    wenn ich hspeed und vspeed nutze macht er nicht das was ich will, also wenn ich z.B. zuerst nach oben gehe und dann noch nach links... geht er ja nach oben links (schräg nach oben links) dann aber z.B. links loslasse geht er immer noch schräg nach oben.

    Oder kann man das auch mit hspeed und vspeed hinkriegen??? Aber ich glaube so wie ich die Bewegung habe ist es schon mal am besten. :)
    Mein Aktuelles und auch einziges Projekt ist "The Color of Life"
    Es wird ein Rollenspiel! Eine lange Story die auch gut ist. Das umzusetzen dauert eben bis 2011!
    Freue mich über jede Hilfe die ich bekommen kann. ^^
    Bald GM8 :thumbsup: wird der hammer xD
  • Es ist natürlich am besten wenn man die
    image_angle=direction
    funktion benutzt, weil sich die spielfigur dann stufenlos drehen lässt. Wenn du hspeed un vspeed benutzt kann GM die variable direction (richtung) ausrechnen.Das sieht dann so aus:

    GML-Quellcode

    1. image_angle=point_direction(x,y,xprevious,yprevious)

    Einfach in den step event, sonst alles wie du es von anfang an gemacht hast
    PS: habe es nicht ausprobiert, sollte aber klappen. Wenn deine spielfigur rückwärts läuft musst du einfach x und y mit xprevious und yprevious austauschen :D

  • Hab ich gemacht aber hat nichts geändert außer das er Objekte die weiter entfährnt waren früher eingesammelt hat. Ich will ja nur das die Sprites auch richtig angezeigt wird wenn ich dauernd schnell die Richtung ändere.



    So wie bei Zelda halt. Das man in alle Richtungen gehen kann auch schräg und wenn man schräg geht das weiterhin die Sprites nicht Wirrwarr angezeigt werden sollen.
    Mein Aktuelles und auch einziges Projekt ist "The Color of Life"
    Es wird ein Rollenspiel! Eine lange Story die auch gut ist. Das umzusetzen dauert eben bis 2011!
    Freue mich über jede Hilfe die ich bekommen kann. ^^
    Bald GM8 :thumbsup: wird der hammer xD
  • Wenn du an die "Zelda" Sicht denkst, fällt dir schnell auf, dass das seit ewigkeiten nichtmehr genau Top Down ist.
    AUCH die 2d teile...
    Das ist son 45°Winkel würde ich sagen...
    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
  • @ Schattenphoenix

    ja aber da ändert sich ja nicht viel an der Steuerung. Ich mein aber auch nur das es so flüssig sein soll wie z.B. bei A Link to the Past.
    Die Sprites werden so doof angezeigt. Wenn ihr nicht genau wisst wie ich das meine könnt ihr es euch hier mal angucken SUNNY-BLADE.rar



    Wenn man nach oben geht, dass auch das Bild für oben bleiben soll auch wenn ich dabei nach links oder rechts drücke. Wisst ihr was ich meine?

    Das gleiche für links, rechts und unten. Wie kriege ich das hin?
    Mein Aktuelles und auch einziges Projekt ist "The Color of Life"
    Es wird ein Rollenspiel! Eine lange Story die auch gut ist. Das umzusetzen dauert eben bis 2011!
    Freue mich über jede Hilfe die ich bekommen kann. ^^
    Bald GM8 :thumbsup: wird der hammer xD
  • alle lösungen bis jetz waren immer für topdown-sicht...
    aber bei zelda is es doch immer so schräg, was bedeutet er braucht für alle 4 richtungen nen animierten sprite und nen stehenden.

    ich mach das immer so:
    key_right(nicht press!!!):

    GML-Quellcode

    1. speed=6
    2. direction=0
    3. sprite_index=spr_player_run_right

    und das für alle richtungen

    und dann im begin step:

    GML-Quellcode

    1. speed=0


    end step:

    GML-Quellcode

    1. if speed=0
    2. {
    3. switch direction
    4. {
    5. case 0: sprite_index=spr_player_stand_right
    6. case 90: sprite_index=spr_player_stand_up
    7. case 180: sprite_index=spr_player_stand_left
    8. case 270: sprite_index=spr_player_stand_down
    9. }
    10. }


  • mhh ein freund hat mir sowas ähnliches gezeigt. Ich versuche deinen weg auch mal. Morgen sgae ich wie es ist. Und ob ich noch probleme damit habe.



    edit: habe es getestet, klappt eigentlich sehr gut. Aber ich habe noch einige andere befehle die es hindern.

    close*
    Mein Aktuelles und auch einziges Projekt ist "The Color of Life"
    Es wird ein Rollenspiel! Eine lange Story die auch gut ist. Das umzusetzen dauert eben bis 2011!
    Freue mich über jede Hilfe die ich bekommen kann. ^^
    Bald GM8 :thumbsup: wird der hammer xD

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

  • Benutzer online 1

    1 Besucher