Hi,
ich habe ein Problem an dem ich verzweifle:
Die Bewegung meines obj_player wird über die pfeil-tasten (Richtung) und die Leertaste (rennen) gesteuert.
die Programmierung stützt sich auf die 4 folgenden Scrips:
Das bewegungs script:
Alles anzeigen
das dir_script
Alles anzeigen
das stand_script
Alles anzeigen
und das Speed_script
(Kurtze Erklärung zu den variablen:
wait: hält fast alle Prozesse im spiel an und wird genutzt um Story Elemente einufügen
char_dir: enthält die Blickrichtung des Players und wird zur Ausführung von Aktionen die "vor" dem spieler stadtfinden genutzt (z.B. das öffnen einer tür)
)
mein Problem ist das der Player nach dem rennen wenn die Leertaste noch gedrückt ist aber keine richtungstaste gedrückt ist nicht in die stehen Animation wechselt
ich verstehe nicht warum
edit: ich hab das Problem noch mal untersucht und entdeckt dass auch jede andere taste die ich während dem bewegen drücke und danach gedrückt halte den sprite wechsel verhindert
der sprite wird erst geändert wenn ich keine taste mehr drücke
ich habe ein Problem an dem ich verzweifle:
Die Bewegung meines obj_player wird über die pfeil-tasten (Richtung) und die Leertaste (rennen) gesteuert.
die Programmierung stützt sich auf die 4 folgenden Scrips:
Das bewegungs script:
Quellcode
- if( wait == false )
- {
- if(isMoving == false)
- {
- if(keyboard_check(vk_right) && place_free(x+4,y)){
- isMoving = true
- moveTimer = gridSize
- speedX = moveSpeed
- speedY = 0
- sprite_index=char_right
- }
- else
- if(keyboard_check(vk_left) && place_free(x-4,y)){
- isMoving = true
- moveTimer = gridSize
- speedX = -moveSpeed
- speedY = 0
- sprite_index=char_left
- }
- else
- if(keyboard_check(vk_up) && place_free(x,y-4)){
- isMoving = true
- moveTimer = gridSize
- speedX = 0
- speedY = -moveSpeed
- sprite_index=char_up
- }
- else
- if(keyboard_check(vk_down) && place_free(x,y+4)){
- isMoving = true
- moveTimer = gridSize
- speedX = 0
- speedY = moveSpeed
- sprite_index=char_down
- }
- }
- }
- if (isMoving == true)
- {
- x += speedX
- y += speedY
- moveTimer -= moveSpeed
- if (moveTimer == 0) isMoving = false;
- }
das dir_script
Quellcode
das stand_script
Quellcode
- if (keyboard_check(vk_right or vk_left or vk_up or vk_down))
- {}
- else
- {
- if(isMoving = false && char_dir == "right" ) {
- sprite_index = char_no_move_right }
- if(isMoving = false && char_dir == "left" ) {
- sprite_index = char_no_move_left }
- if(isMoving = false && char_dir == "up" ) {
- sprite_index = char_no_move_up }
- if(isMoving = false && char_dir == "down" ) {
- sprite_index = char_no_move_down }
- }
und das Speed_script
(Kurtze Erklärung zu den variablen:
wait: hält fast alle Prozesse im spiel an und wird genutzt um Story Elemente einufügen
char_dir: enthält die Blickrichtung des Players und wird zur Ausführung von Aktionen die "vor" dem spieler stadtfinden genutzt (z.B. das öffnen einer tür)
)
mein Problem ist das der Player nach dem rennen wenn die Leertaste noch gedrückt ist aber keine richtungstaste gedrückt ist nicht in die stehen Animation wechselt
ich verstehe nicht warum
edit: ich hab das Problem noch mal untersucht und entdeckt dass auch jede andere taste die ich während dem bewegen drücke und danach gedrückt halte den sprite wechsel verhindert
der sprite wird erst geändert wenn ich keine taste mehr drücke
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von SnowNight ()