Oppure

Loading
11/03/11 22:38
Flame75
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
aaa
12/03/11 0:36
andrex91
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).

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 12/03/11 0:41
aaa