dove position, velocity e acceleration sono dei Vector2. In questo modo puoi permetterti di cambiare la direzione della gravità, oltre alla sua magnitudine.
In più, se usi la variabile velocità puoi facilmente determinare se la pallina sta andando in su o in giù semplicemente controllandone la componente Y, o ancora meglio, puoi controllare se la velocità è concorde o discorde con l'accelerazione usando un prodotto scalare (Vector2.Dot).
Codice sorgente - presumibilmente C# / VB.NET |
if (Vector2.Dot(player.Velocity, player.Acceleration) > 0)
// la palla sta "scendendo"
|
@arack: no, non mi sono dimenticato l'accelerazione. Tuttavia quello che ho scritto è corretto e non è altro che la discretizzazione approssimata su un delta di tempo finito degli integrali della velocità e dello spostamento.
Ultima modifica effettuata da Il Totem il 02/08/2011 alle 21:07