Skocz do zawartości

Dwie animacje - Strzał i Przeładowanie


Gość

Rekomendowane odpowiedzi

Witam, mam problem bo pobrałem tutorial A First Person Shooter ze strony http://www.yoyogames.com/make/tutorials i podzieliłem animację strzału na dwie strzał i przeładowanie, ale nie było amunicji i przeładowania więc dorobiłem, wszystko działa, ale nie umiem zrobić tak, aby na przeładowanie była inna animka

ew. mogę znowu połączyć animację w jedną, ale tylko jak to konieczne :P

 

press R-key

 

GML
//przeładowanie -częsc pierwsza

if ( not laduj ) exit

magazynek = ammo_wmagazynku[ bron ]

max_magazynek = pojemnosc_magazynka[ bron ]

ammo = ammo_zapasowe[ bron ]

 

if ( magazynek < max_magazynek and ammo > 0 )

{

laduj = false

alarm[ 1 ] = ladowanie_length[ bron ]

sound_play ( ladowanie_sound[ bron ] )

}

 

Alarm 1

 

GML
// przeładowanie =) - część druga

magazynek = ammo_wmagazynku[ bron ]

max_magazynek = pojemnosc_magazynka[ bron ]

ammo = ammo_zapasowe[ bron ]

 

if not ( magazynek < max_magazynek ) exit

if ( ammo == 0 ) exit

 

laduj = true

roznica = max_magazynek - magazynek

 

if (ammo >= roznica)

{

ammo -= roznica

magazynek = max_magazynek

}

else

{

magazynek += ammo

ammo = 0

}

 

ammo_wmagazynku[ bron ] = magazynek

pojemnosc_magazynka[ bron ] = max_magazynek

ammo_zapasowe[ bron ] = ammo

 

Kod przeładowania pochodzi z przykładu: Zmiana broni & przeładowanie

 

P.S. mogę wrzucić grę żeby pomogło.

Odnośnik do komentarza
Udostępnij na innych stronach

GML (step)
if keyboard_check_press(ord('R'))

{

sprite_index=sprite_przeładowania

}

 

/*ew. możesz usunąć "if keyboard_check_press(ord('R'))"

i klamry, oraz wkleić to do "Key Press R" */

 

GML (Animation End)
sprite_index=normalny_pistolet

 

I czemu robisz zmienne ze spacjami? "if ( not laduj ) exit" Wtedy ci nie zadziała.

Odnośnik do komentarza
Udostępnij na innych stronach

Lol, Ghost to "if ( not laduj ) exit" to jest dobrze. Too "not" nie znaczy tutaj czesci nazwy zmiennej tylko wyrazenie "nie".

Sprawdza tym czy zmienna jest na false.

Hm, pierwsze słysze ;p Ja do tego używam if laduj=false xD

Odnośnik do komentarza
Udostępnij na innych stronach

Przy uruchomieniu gry wyskakuje:

 

FATAL ERROR in

action number 1

of Step Event

for object obj_gun:

 

COMPILATION ERROR in code action

Error in code at line 1:

if keyboard_check_press(ord('R'))

 

at position 4: Unknown function or script: keyboard_check_press

 

 

Jaki jest skrypt pod GM 7.0 Pro zarejestrowany?

Odnośnik do komentarza
Udostępnij na innych stronach

Jak wgrać? Animacje mam wgraną lol ;/ a w kodzie mam tak: if keyboard_check_pressed(ord('R'))

{

sprite_index=sprite_shotgun_reload

}

 

 

A animacja nazywa się "sprite_shotgun_reload" więc co lol?

Odnośnik do komentarza
Udostępnij na innych stronach

Jak wgrać? Animacje mam wgraną lol ;/ a w kodzie mam tak: if keyboard_check_pressed(ord('R'))

{

sprite_index=sprite_shotgun_reload

}

 

 

A animacja nazywa się "sprite_shotgun_reload" więc co lol?

Zapewne masz za szybką. Zmniejsz, dodaj:

GML (Create)
image_speed=0.2

 

A jak nie działa to powinno działać.

Odnośnik do komentarza
Udostępnij na innych stronach

Chwile, bo coś mi nie pasuje, mam zrobić dwa obiekty? Bo w jednym jak dodam image_speed=0.2 to cały czas leci animacja strzału ;/

Niemożliwe. Nie musisz robić dwóch obiektów. Wystarczy, że napiszesz:

GML
if keyboard_check_pressed(ord('R'))

{

image_speed=0.6 //najlepiej

sprite_index=sprite_przeładowania

}

 

/*ew. możesz usunąć "if keyboard_check_press(ord('R'))"

i klamry, oraz wkleić to do "Key Press R" */

 

A potem:

GML (Animation End)
image_speed=1 //normalność

sprite_index=gun_normalny
Odnośnik do komentarza
Udostępnij na innych stronach

GML (Animation End)image_speed=1 //normalność

sprite_index=gun_normalny

zmieniam to image speed, patrze a to nic nie daje. Sprobuj sam Ghost... :/ przy predkosci 0.8 i 10.4 jest to samo... :/ rowniez mam ten problem... ;/ A co do animacji strzalu, to ona moze byc ustawiona za pomoca alarmu, tak samo przypuszczam ta, ale tutaj cos nie wychodzi... <_<

 

E: pokazuje tylko pierwsza klatke :/ Moze to jakos naprowadzi naszych mistrzow ^^

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ę...