Velocità animazione sprite in base al frame

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
DrBiscotto
Newbie
Messaggi: 3
Iscritto il: 09/08/2017, 18:47
Uso: GM:Studio 2
Contatta:

Velocità animazione sprite in base al frame

Messaggio da DrBiscotto »

Ciao,
ho uno sprite composto da 4 frame. Ho la necessità di impostare una velocità diversa in base al frame utilizzato.
Per farmi capire meglio vi lascio un piccolo schemettino:

Codice: Seleziona tutto

N°Frame
1           2           3           2
Delay
340ms      20ms       340ms        20ms
Utilizzo GM2. Per caso è disponibile una funzione apposita? Se non esiste e devo fare tutto tramite codice, rischio di appesantire inutilmente il gioco?
Sapete aiutarmi?

Grazie!

Avatar utente
ball-man_3000
Moderatore
Messaggi: 1263
Iscritto il: 26/08/2009, 13:42
Specialità: Contare con le dita
Uso: GM:Studio 2
Località: Bologna
Contatta:

Re: Velocità animazione sprite in base al frame

Messaggio da ball-man_3000 »

Ciao biscottino, non mi pare che gm abbia la tale funzionalità (almeno non nelle versioni che ho usato io fin'ora).
Puoi comunque ottenere questo risultato implementandolo manualmente sfruttando due variabili che gm ti mette a disposizione:
image_index, che rappresenta l'attuale frame che sta venendo renderizzato su schermo(0 based, quindi ad esempio se sta venendo riprodotto il secondo frame, image_index sarebbe uguale ad 1).
image_speed, che rappresenta la velocità di passaggio da un frame all'altro. Di base è 1, ovvero ad ogni frame di gioco l'animazione passa al frame successivo. Puoi modificarlo liberamente in qualsiasi momento. Ad esempio settandolo a 0.5, otterresti un'animazione che passa al frame successivo ogni 2 frame di gioco.

Combinando queste due variabili con uno o più if statement dovresti ottenere quello che ti serve.
Quattro corde sono meglio

Avatar utente
Simsure
Membro
Messaggi: 223
Iscritto il: 13/09/2013, 21:54
Specialità: Programmazione
Uso: GM:Studio 2
Località: dietro di te...
Contatta:

Re: Velocità animazione sprite in base al frame

Messaggio da Simsure »

Concordo con ball-man,dovrebbe essere l'unico modo.
Se però non vuoi ricorrere al codice potresti sempre aumentare i frame (copiandoli uguali) dei punti dove l'animazione deve essere più lenta,cosi anche se non con estrema precisione otterresti un risultato simile.
Immagine
Spoiler
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Bing [Bot] e 49 ospiti