Hey Leute,
ich arbeite gerade an einem TopDown-Spiel, dass mit der Tastatur gespielt wird. Ich habe mich in letzter Zeit mit kleineren Sachen befasst, die das Spiel etwas aufpolieren sollen beschäftigt.
Nun wollte ich die Steuerung angenehmer machen. Die Illusion, dass der Spieler nicht ganz "abgehackt" geht, habe ich mittels View erschaffen, der etwas nachzieht. Jedoch fehlt mir dieses ganz leichte Rutsch-Gefühl beim gehen. Meine Wunschvorstellung wäre eine Bewegung wie bei The Binding of Isaac(falls ihr das Spiel nicht kennen solltet, könnt ihr die Flash-Demo im Browser spielen(einfach googeln)). Ich habe gehört ,dass das mit friction oder sowas gehen soll, bin mir aber nicht sicher. Dazu wär es vielleicht erwähnenswert, dass mein Spiel in größtenteils 16x16 Grafiken benutzt, weil vielleicht der Effekt bei solch einer kleinen Grafikgröße gar nicht zur Geltung kommt.
Hier mein View-Code (nur falls ihr nicht wisst was ich mit nachziehen meine)
Alles anzeigen
Und hier zum eigentlich wichtigen Teil, dem Movement:
Alles anzeigen
Kurze Zusammenfassung meines Wunsches:
-leichten Rutscheffekt beim Gehen
-am besten wie bei The Binding of Isaac
ich arbeite gerade an einem TopDown-Spiel, dass mit der Tastatur gespielt wird. Ich habe mich in letzter Zeit mit kleineren Sachen befasst, die das Spiel etwas aufpolieren sollen beschäftigt.
Nun wollte ich die Steuerung angenehmer machen. Die Illusion, dass der Spieler nicht ganz "abgehackt" geht, habe ich mittels View erschaffen, der etwas nachzieht. Jedoch fehlt mir dieses ganz leichte Rutsch-Gefühl beim gehen. Meine Wunschvorstellung wäre eine Bewegung wie bei The Binding of Isaac(falls ihr das Spiel nicht kennen solltet, könnt ihr die Flash-Demo im Browser spielen(einfach googeln)). Ich habe gehört ,dass das mit friction oder sowas gehen soll, bin mir aber nicht sicher. Dazu wär es vielleicht erwähnenswert, dass mein Spiel in größtenteils 16x16 Grafiken benutzt, weil vielleicht der Effekt bei solch einer kleinen Grafikgröße gar nicht zur Geltung kommt.
Hier mein View-Code (nur falls ihr nicht wisst was ich mit nachziehen meine)
GML-Quellcode
Und hier zum eigentlich wichtigen Teil, dem Movement:
GML-Quellcode
- ///STEP EVENT
- //++WASD Gehen++//
- //Oben
- if keyboard_check(global.obenTaste) && !keyboard_check(global.untenTaste) && !keyboard_check(global.rechtsTaste) && !keyboard_check(global.linksTaste)
- {
- y=y-global.spd
- image_xscale = 1
- sprite_index = gehenO
- global.richtung = "oben"
- }
- //Unten
- if keyboard_check(global.untenTaste) && !keyboard_check(global.obenTaste) && !keyboard_check(global.rechtsTaste) && !keyboard_check(global.linksTaste)
- {
- y=y+global.spd
- image_xscale = 1
- sprite_index = gehenU
- global.richtung = "unten"
- }
- //Rechts
- if keyboard_check(global.rechtsTaste) && !keyboard_check(global.untenTaste) && !keyboard_check(global.obenTaste) && !keyboard_check(global.linksTaste)
- {
- x=x+global.spd
- image_xscale = 1
- sprite_index = gehenR
- global.richtung = "rechts"
- }
- //Links
- if keyboard_check(global.linksTaste) && !keyboard_check(global.untenTaste) && !keyboard_check(global.rechtsTaste) && !keyboard_check(global.obenTaste)
- {
- x=x-global.spd
- image_xscale = -1
- sprite_index = gehenR
- global.richtung = "links"
- }
- //++Diagonal gehen++//
- //LinksOben
- if keyboard_check(global.obenTaste) && !keyboard_check(global.untenTaste) && !keyboard_check(global.rechtsTaste) && keyboard_check(global.linksTaste)
- {
- y=y-global.spd/1.5
- x=x-global.spd/1.5
- image_xscale = 1
- sprite_index = gehenO
- global.richtung = "oben"
- }
- //LinksUnten
- if keyboard_check(global.untenTaste) && !keyboard_check(global.obenTaste) && !keyboard_check(global.rechtsTaste) && keyboard_check(global.linksTaste)
- {
- y=y+global.spd/1.5
- x=x-global.spd/1.5
- image_xscale = 1
- sprite_index = gehenU
- global.richtung = "unten"
- }
- //RechtsOben
- if keyboard_check(global.rechtsTaste) && !keyboard_check(global.untenTaste) && keyboard_check(global.obenTaste) && !keyboard_check(global.linksTaste)
- {
- y=y-global.spd/1.5
- x=x+global.spd/1.5
- image_xscale = 1
- sprite_index = gehenO
- global.richtung = "rechts"
- }
- //RechtsUnten
- if keyboard_check(global.rechtsTaste) && keyboard_check(global.untenTaste) && !keyboard_check(global.linksTaste) && !keyboard_check(global.obenTaste)
- {
- y=y+global.spd/1.5
- x=x+global.spd/1.5
- image_xscale = -1
- sprite_index = gehenU
- global.richtung = "links"
- }
- //Stehenbleiben
- if keyboard_check(vk_nokey)
- {
- image_speed = .04
- switch (global.richtung)
- {
- case "oben":
- sprite_index = argument1
- image_xscale = 1
- break;
- case "unten":
- sprite_index = argument0
- image_xscale = 1
- break;
- case "rechts":
- sprite_index = argument2
- image_xscale = 1
- break;
- case "links":
- sprite_index = argument2
- image_xscale = -1
- break;
- }
- }
-
Kurze Zusammenfassung meines Wunsches:
-leichten Rutscheffekt beim Gehen
-am besten wie bei The Binding of Isaac