Partage
  • Partager sur Facebook
  • Partager sur Twitter

Accélération d'un sprite

Dans le genre mario ou autre

Sujet résolu
    5 mai 2008 à 12:33:26

    Bonjour,

    Je cherche une solution efficace pour gérer une accélération(et une décélération par la même occasion)lorsque l'on déplace le sprite , de façon à ce qu'il n'atteigne pas sa vitesse maximal immédiatement.

    Donc en gros j'aurai grossièrement un truc du genre :

    void acceleration()
    {
     if(tempsEcoule <= dureeAcceleration)
     {
      /*je ne sais pas quoi écrire ici de façon à ce que la vitesse augmente
      proportionnellement à la durée d'accélération , quelque soit la vitesse maximum possible*/
     }
    }
    


    j'ai donc une variable vitesseActuelle et vitesseMax , mais je n'ai pas encore trouvé de solution puissante.

    Merci de votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      5 mai 2008 à 15:25:39

      Utilise la physique du point matériel. :)

      Je te passe les détails, tu calcules ton nouveau vecteur vitesse et ta nouvelle position ainsi :

      V = F*t + V0
      P = F*t²/2 + V0t + P0

      Avec F force appliquée (vecteur que tu mettras a l'horizontal, dans le sens ou tu veux pousser ton gars)
      t temps passé depuis la derniere frame (en secondes)
      V0 vitesse du mec a la frame précédente (tu dis que tu le stockes)
      P0 position du mec a la frame précédente

      V,P : nouvelle vitesse et nouvelle position.

      Avec ceci, au fur et a mesure du temps, ton gars va accélérer. Tu peux plafonner par la vitesse limite si tu le souhaite, ou faire intervenir un frottement au sol (directement proportionnel au vecteur vitesse), ce qui reviendra a peu pres au meme (je ne connais pas ton niveau en physique)
      • Partager sur Facebook
      • Partager sur Twitter

      Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

        5 mai 2008 à 15:53:34

        Merci beaucoup pour cette solution ! :D
        • Partager sur Facebook
        • Partager sur Twitter

        Accélération d'un sprite

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown