Sprite del salto
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Sprite del salto
Ehi ragazzi, sapete come impostare lo sprite di quando si salta in un platform? Se ricordo bene bisogna mettere qualcosa in End Step, giusto?
L'ignoranza è la via per l'autodistruzione
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Sprite del salto
Devi agire nell'evento draw, se vuoi disegnare uno sprite differente, e/o cambiare lo sprite_index dell'instanza.
Esempio:
Esempio:
Codice: Seleziona tutto
draw_sprite(sprite_index, image_index, x, y);
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Sprite del salto
Io intendevo fare l'animazione del salto quando il personaggio saltaVallo92 ha scritto:Devi agire nell'evento draw, se vuoi disegnare uno sprite differente, e/o cambiare lo sprite_index dell'instanza.
Esempio:Codice: Seleziona tutto
draw_sprite(sprite_index, image_index, x, y);
L'ignoranza è la via per l'autodistruzione
- Scario
- Moderatore
- Messaggi: 2707
- Iscritto il: 26/05/2003, 20:29
- Specialità: Tergiversare
- Uso: GM:Studio 2
- Contatta:
Re: Sprite del salto
Devi cambiare lo sprite index nella parte di codice dove gestisci il salto / dove verifichi che se la velocità verticale è uguale a 0 il personaggio di ferma. Poi, come dice Vallo, usi il suo codice nel draw event per disegnarlo. Tieni conto che tutte le funzioni draw vanno appunto solo negli eventi draw.
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Sprite del salto
Ho fatto con lo scriptScario ha scritto:Devi cambiare lo sprite index nella parte di codice dove gestisci il salto / dove verifichi che se la velocità verticale è uguale a 0 il personaggio di ferma. Poi, come dice Vallo, usi il suo codice nel draw event per disegnarlo. Tieni conto che tutte le funzioni draw vanno appunto solo negli eventi draw.
Codice: Seleziona tutto
if vspeed = -10
sprite_index = spr_jump
else if vspeed = 0
sprite_index = spr_walk
L'ignoranza è la via per l'autodistruzione
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Sprite del salto
Senza avere il codice di movimento che utilizzo sotto mano, è un po' difficile risponderti...
Se lo sprite di camminata viene applicato quando cade allora imposta al posto di quello lo sprite di caduta, e fai un ulteriore check per lo sprite di camminata (ad esempio vspeed == 0 && collision con il terreno).
P.S.
Stai molto attento a come fai i check all'interno degli if. Nel tuo caso stai assegnando dei valori a vspeed (=) e non stai facendo un controllo di uguaglianza (==).
Se lo sprite di camminata viene applicato quando cade allora imposta al posto di quello lo sprite di caduta, e fai un ulteriore check per lo sprite di camminata (ad esempio vspeed == 0 && collision con il terreno).
P.S.
Stai molto attento a come fai i check all'interno degli if. Nel tuo caso stai assegnando dei valori a vspeed (=) e non stai facendo un controllo di uguaglianza (==).
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Sprite del salto
Ci sono riuscito conVallo92 ha scritto:Senza avere il codice di movimento che utilizzo sotto mano, è un po' difficile risponderti...
Se lo sprite di camminata viene applicato quando cade allora imposta al posto di quello lo sprite di caduta, e fai un ulteriore check per lo sprite di camminata (ad esempio vspeed == 0 && collision con il terreno).
P.S.
Stai molto attento a come fai i check all'interno degli if. Nel tuo caso stai assegnando dei valori a vspeed (=) e non stai facendo un controllo di uguaglianza (==).
Codice: Seleziona tutto
if vspeed < 0
sprite_index = spr_jump
else if vspeed > 0
sprite_index = spr_fall
else if vspeed = 0
sprite_index = spr_walk
L'ignoranza è la via per l'autodistruzione
Chi c’è in linea
Visitano il forum: Nessuno e 45 ospiti