Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Necessità di consigli per platfrom con la libreria allegro
Forum - C/C++ - Necessità di consigli per platfrom con la libreria allegro

Avatar
Flame75 (Normal User)
Newbie


Messaggi: 2
Iscritto: 11/03/2011

Segnala al moderatore
Postato alle 23:38
Venerdì, 11/03/2011
Salve.
Ho da poco incominciato a studiare la libreria allegro . Sto cercando di realizzare un semplice platform stile Super mario. Sono riuscito a far camminare in orizzontale il personaggio , ma ho qualche problemino con il salto .
Ho provato ad utilizzare una variabile speed_y , che viene inizializzata con un determinato valore negativo nel momento in cui si preme il tasto di salto , che verrà sommata alla variabile pg_y che indica la coordinata y del personaggio . Poi , raggiunta una certa altezza , la variabile speed_y viene settata ad un valore positivo in modo da far scendere il personaggio .
L'effetto , purtroppo , non è quello desiderato . Potreste indicarmi un metodo più valido ed efficace?

Grazie

PM
Avatar
andrex91 (Member)
Pro


Messaggi: 101
Iscritto: 01/05/2009

Up
2
Down
V
Segnala al moderatore
Postato alle 1:36
Sabato, 12/03/2011
Per avere un effetto più gradevole dovresti usare una variabile che simuli la gravità, per esempio: int gravity
Ogni volta che aggiorni la coordinata y del player (pg_y=pg_y+speed_y) dovrai anche aggiornare la speed_y sottraendone il valore della gravità (un valore positivo che sceglierai te in base alle tue esigenze).

Codice sorgente - presumibilmente Plain Text

  1. speed_y=speed_y-gravity



In questo modo il player salirà in alto (la velocità di salita diminuisce progressivamente) finchè speed_y non avrà un valore <= 0 e solo a quel punto inizierà a scendere.

ps. ricordati di gestire l'interruzione della discesa ^^

Ultima modifica effettuata da andrex91 il 12/03/2011 alle 1:41
PM