Hallo,
ich arbeite noch mit Studio 1 bin noch ein Anfänger im Coding so please dont shoot me. Ich mache ein simples Jump and Run Spiel mit Sonic, und habe ich mich in meiner eigenen Logik vercodet. Die Jump Animationen sollten dauerhaft sein, der Igel rollt sich ein während er in der Luft ist, so wie bei allen Sonic Spielen übrig ist. Bei mir wird jedoch nur die Jump Animation einmal abgespielt und bei Dash (Wenn Sonic superschnell läuft) wird sie garnicht erst abgespielt. Kann da jemand mal bitte drüber schauen und mir helfen?
Hier meine GMX Datei: easyupload.io/ybuaug
Hier die Codes
Create
Step
Alles anzeigen
ich arbeite noch mit Studio 1 bin noch ein Anfänger im Coding so please dont shoot me. Ich mache ein simples Jump and Run Spiel mit Sonic, und habe ich mich in meiner eigenen Logik vercodet. Die Jump Animationen sollten dauerhaft sein, der Igel rollt sich ein während er in der Luft ist, so wie bei allen Sonic Spielen übrig ist. Bei mir wird jedoch nur die Jump Animation einmal abgespielt und bei Dash (Wenn Sonic superschnell läuft) wird sie garnicht erst abgespielt. Kann da jemand mal bitte drüber schauen und mir helfen?

Hier meine GMX Datei: easyupload.io/ybuaug
Hier die Codes
Create
Step
GML-Quellcode
- /// Spieler Bewegung
- // Variablen
- right = keyboard_check(ord("D"));
- left = keyboard_check(ord("A"));
- jump = keyboard_check(ord("W"));
- special = keyboard_check(vk_space);
- var move_speed = speed_walk;
- // Bewegung links oder rechts
- if (left and not right and place_free(x - 4, y)) {
- x -= move_speed;
- sprite_index = spr_sonic_run
- image_speed = 0.25;
- image_xscale = -1;
- }
- if (not left and right and place_free(x + 4, y)) {
- x += move_speed;
- sprite_index = spr_sonic_run
- image_speed = 0.25;
- image_xscale = 1;
- }
- if (not left and not right and special = false) {
- sprite_index = spr_sonic_idle
- image_speed = 0.2;
- }
- if (left and not right and keyboard_check(vk_shift) and place_free(x - 4, y)) {
- if endurance > 0{
- endurance -= 1.5;
- move_speed = speed_sprint;
- x -= move_speed;
- sprite_index = spr_sonic_dash
- image_speed = 5;
- }
- } else {
- if shift = false {
- if endurance < 100 {
- endurance += 0.5;
- }
- }
- }
- if (not left and right and keyboard_check(vk_shift) and place_free(x + 4, y)) {
- if endurance > 0{
- endurance -= 1.5;
- move_speed = speed_sprint;
- x += move_speed;
- sprite_index = spr_sonic_dash
- image_speed = 5;
- }
- } else {
- if shift = false {
- if endurance < 100 {
- endurance += 0.3;
- }
- }
- }
- // Gravitation
- if (place_free(x, y +1)) {
- if (shift = false) gravity = .7;
- if (shift = true) {
- gravity = .7
- }
- if (vspeed >= 0) {
- if (move_speed = speed_walk)
- if (left and not right) { sprite_index = spr_sonic_jump; {
- image_xscale = -1;
- image_speed = 1;
- }
- }
- }
- if (vspeed <= 0) {
- if (move_speed = speed_walk) sprite_index = spr_sonic_jump; {
- image_speed = 1;
- }
- }
- // maximale Fallgeschwindigkeit
- if (vspeed >= 10) {
- vspeed = 10;
- }
- } else {
- gravity = 0;
- // Springen
- if (jump) {
- if shift = false
- {
- vspeed = -10
- }
- if shift = true
- {
- if endurance > 0{
- endurance -= 1.5;
- vspeed = -13
- }
- }
- }
- }