Hey,
Ich arbeite zurzeit an einem Action RPG. Das movement des Characters hatte ich schon fertiggestellt. Nun wollte ich aber versuchen so eine art schleichen oder rückwärtslaufen einzubauen. Hierbei soll sich der Character bei gedrückter alt Taste nur etwas langsamer bewegen als sonst und der image_index soll nicht mehr aktualisiert werden. D.h. der Character schaut zb. nach rechts und kann trotzdem, nun etwas langsamer, nach links laufen.
Funktionieren tut es so weit ganz gut solange man nicht 2 pfeiltasten gleichzeit drückt um diagonal zu laufen. Vorher hat das diagonale laufen funktioniert, doch wenn man "schleichen" will funktioniert es nicht richtig. Hier auszüge aus meinem code:
var keydown, keyup, keyleft, keyright;
keydown = keyboard_check(vk_down)
keyup = keyboard_check(vk_up)
keyleft = keyboard_check(vk_left)
keyright = keyboard_check(vk_right)
//sneaking
if keyboard_check(vk_control) {sneaking = 1} else {sneaking = 0}
//gegensätzliche movements ausschalten
if (keyup && keydown)
{
keyup = false
keydown = false
}
if (keyleft && keyright)
{
keyleft = false
keyright = false
}
//Moving
if (sneaking = 0)
{
if keyup and place_free(x,y-5) y-=2
if keydown and place_free(x,y+5) y+=2
if keyleft and place_free(x-5,y) x-=2
if keyright and place_free(x+5,y) x+=2
}
else
{
if keyup and place_free(x,y-2.5) y-=1
if keydown and place_free(x,y+2.5) y+=1
if keyleft and place_free(x-2.5,y) x-=1
if keyright and place_free(x+2.5,y) x+=1
}
Ich habe gerade rausgefunden dass man nach oben rechts und oben links diagonal laufen kann wenn ich die Taste alt verwende um zu "schleichen" aber nach unten rechts bzw. unten links nicht.
Mit der strg Taste funktioniert das ganze nur nach links oben und links unten. woran liegt das?
Ich arbeite zurzeit an einem Action RPG. Das movement des Characters hatte ich schon fertiggestellt. Nun wollte ich aber versuchen so eine art schleichen oder rückwärtslaufen einzubauen. Hierbei soll sich der Character bei gedrückter alt Taste nur etwas langsamer bewegen als sonst und der image_index soll nicht mehr aktualisiert werden. D.h. der Character schaut zb. nach rechts und kann trotzdem, nun etwas langsamer, nach links laufen.
Funktionieren tut es so weit ganz gut solange man nicht 2 pfeiltasten gleichzeit drückt um diagonal zu laufen. Vorher hat das diagonale laufen funktioniert, doch wenn man "schleichen" will funktioniert es nicht richtig. Hier auszüge aus meinem code:
var keydown, keyup, keyleft, keyright;
keydown = keyboard_check(vk_down)
keyup = keyboard_check(vk_up)
keyleft = keyboard_check(vk_left)
keyright = keyboard_check(vk_right)
//sneaking
if keyboard_check(vk_control) {sneaking = 1} else {sneaking = 0}
//gegensätzliche movements ausschalten
if (keyup && keydown)
{
keyup = false
keydown = false
}
if (keyleft && keyright)
{
keyleft = false
keyright = false
}
//Moving
if (sneaking = 0)
{
if keyup and place_free(x,y-5) y-=2
if keydown and place_free(x,y+5) y+=2
if keyleft and place_free(x-5,y) x-=2
if keyright and place_free(x+5,y) x+=2
}
else
{
if keyup and place_free(x,y-2.5) y-=1
if keydown and place_free(x,y+2.5) y+=1
if keyleft and place_free(x-2.5,y) x-=1
if keyright and place_free(x+2.5,y) x+=1
}
Ich habe gerade rausgefunden dass man nach oben rechts und oben links diagonal laufen kann wenn ich die Taste alt verwende um zu "schleichen" aber nach unten rechts bzw. unten links nicht.
Mit der strg Taste funktioniert das ganze nur nach links oben und links unten. woran liegt das?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Kernobee ()