Skocz do zawartości

Zmiana kodu


Rekomendowane odpowiedzi

Witam.

Mam taki sobie kod:

// Gravity

 

if place_free(x,y + 1)

{

gravity = .5

in_air = true

}

else

{

gravity = 0

in_air = false

}

 

 

// Moving Right and Left

 

if !place_meeting(x,y,ladder) && !place_meeting(x,y,water)

{

if keyboard_check(ord('D')) && !keyboard_check(ord('A')) // With Slopes

{

repeat(4)

{

if place_free(x + 1,y)

{

if !place_free(x - 2,y + 1)

{

x += 1

y += 1

}

else

{

x += 1

}

}

else

{

scr_slope(1,3)

}

}

}

else if keyboard_check(ord('A')) && !keyboard_check(ord('D'))

{

repeat(4)

{

if place_free(x - 1,y)

{

if !place_free(x + 2,y + 1)

{

x -= 1

y += 1

}

else

{

x -= 1

}

}

else

{

scr_slope(-1,3)

}

}

}

}

else if place_meeting(x,y,ladder) // With Ladder

{

if keyboard_check(ord('D')) && !keyboard_check(ord('A'))

{

if place_free(x + 4,y)

{

x += 4

}

}

else if keyboard_check(ord('A')) && !keyboard_check(ord('D'))

{

if place_free(x - 4,y)

{

x -= 4

}

}

}

else if place_meeting(x,y,water) // With Water

{

if keyboard_check(ord('D')) && !keyboard_check(ord('A'))

{

repeat(2)

{

if place_free(x + 1,y)

{

if !place_free(x - 2,y + 1)

{

x += 1

y += 1

}

else

{

x += 1

}

}

else

{

scr_slope(1,3)

}

}

}

else if keyboard_check(ord('A')) && !keyboard_check(ord('D'))

{

repeat(2)

{

if place_free(x - 1,y)

{

if !place_free(x + 2,y + 1)

{

x -= 1

y += 1

}

else

{

x -= 1

}

}

else

{

scr_slope(-1,3)

}

}

}

}

 

// Ducking

 

if keyboard_check(ord('S'))

{

if in_air = false

{

if sprite_index = f_stand

{

sprite_index = f_stand

}

}

else if in_air = true

{

if sprite_index = f_stand

{

sprite_index = f_stand

}

}

}

 

if sprite_index = f_stand

{

if place_free(x,y - 2) && !keyboard_check(ord('S'))

{

sprite_index = f_stand

}

}

 

// Jumping

 

if keyboard_check_pressed(ord('W'))

{

if sprite_index = f_stand

{

if !place_free(x,y + 1)

{

vspeed = -6

}

else if keyboard_check_pressed(ord('W')) && double_jump = true

{

vspeed = -6

double_jump = false

}

}

else if sprite_index = f_stand

{

if !place_meeting(x,y,water)

{

if !place_free(x,y + 1) && place_free(x,y - 2)

{

vspeed = -10

sprite_index = f_stand

double_jump = false

}

}

}

}

 

// Variable Jumping

 

if keyboard_check_released(ord('W'))

{

if vspeed < 0

{

vspeed /= 2

}

}

 

// Ladder

 

if place_meeting(x,y,ladder)

{

gravity = 0

vspeed = 0

double_jump = true

 

if keyboard_check(ord('W')) && !keyboard_check(ord('S'))

{

if instance_place(x,y - 8,ladder)

{

if place_free(x,y - 3)

{

y -= 3

}

else if place_free(x,y - 2)

{

y -= 2

}

else if place_free(x,y - 1)

{

y -= 1

}

}

}

else if keyboard_check(ord('S')) && !keyboard_check(ord('W'))

{

sprite_index = f_stand

 

if place_free(x,y + 3)

{

y += 3

}

else if place_free(x,y + 2)

{

y += 2

}

else if place_free(x,y + 1)

{

y += 1

}

}

}

 

// Water

 

if place_meeting(x,y,water)

{

vspeed = 0

 

if instance_place(x,y + 2,ground)

{

if place_free(x,y + 1)

{

y += 1

}

}

 

if keyboard_check(ord('W')) && !keyboard_check(ord('S'))

{

if place_free(x,y - 2)

{

y -= 2

 

if !instance_place(x,y - 8,water)

{

gravity = .5

vspeed = -6

}

}

}

else if keyboard_check(ord('S')) && !keyboard_check(ord('W'))

{

if place_free(x,y + 2)

{

y += 2

}

}

}

 

I pytanko jest takie : czy mógł by ktoś pomóc mi zmianić to tak, żeby przy naciśnięciu "A"object (a dokładniej Firrez) zmianił sprite na f_move left, a później po puszczeniu klawisza("A") zmianiał sprite na f_stand. Nadążacie?? :P Z góry dzięki...

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if(keyboard_check(ord("A")));

 

{

 

     sprite_index = f_move_left

 

}

 

if(keyboard_check_released(ord("A")));

 

{

 

     sprite_index = f_stand

 

}

 

Potwierdze chyba slowa Makarego... Jesli zrobiles TAKI kod i TAKICH rzeczy nie wiesz, to ladna sciaga ;)

 

edit: z gravitacja na pewno ma byc ".5"? :)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...