Historique des modifications - Message

Message #7831

Sujet: C++ CEventReceiver pour une personnage vue à la 3ème personne


Type Date Auteur Contenu
Création du message 27-01-2010 09:56:35 Hawk
Bon tutoriel, mais j'ai quelques questions/remarques.

Code c++ :


m_animrun=true;//et comme l'animation n'est du coup pas "courir" , on met notre booléen à false aussi

Ben pourquoi il est à True alors ? Faut d'inattention je suppose.

Code c++ :


if(m_Nmodele != 0 && m_isAvance == true)
    {
         c.X += speed * cos((d.Y) * 3.14 / 180);
         c.Z -= speed * sin((d.Y) * 3.14 / 180);
    }

    if(m_Nmodele != 0 && m_isRecule == true)
    {
        c.X -= speed * cos((d.Y) * 3.14 / 180);
        c.Z += speed * sin((d.Y) * 3.14 / 180);
    }


Là, il y a une petite optimisation à faire. Juste avant, tu a calculé diry qui est en fait d.Y en degré + 90°
or cos( a + 90) = - sin (a)
et sin (a + 90) = cos (a)

Donc cos (d.Y) = sin (diry)
et sin (d.Y) = - cos (diry)
(le tout en degré)

Du coup, ton code devient :

Code c++ :


if(m_Nmodele != 0 && m_isAvance == true)
    {
         c.X += speed * sin(diry);
         c.Z -= speed * - cos(diry));
    }

    if(m_Nmodele != 0 && m_isRecule == true)
    {
        c.X -= speed * sin(diry);
        c.Z += speed * -cos(diry);
    }

Enfin, ton code est juste quand même smile

Code c++ :


     m_Nmodele->setRotation(d);
    int xf = (c.X-sin(diry)*125);
    int yf = (c.Z-cos(diry)*125);
    int zf =100;

    m_Nmodele->setPosition(c);


Là, j'ai l'impression que tu calcules un x, un y et un z que tu n'utilises pas . A quoi servent-ils ?

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
558 invités en ligne
membre en ligne: -
RSS Feed