Historique des modifications - Message

Message #8868

Sujet: appuis / relachement d'un bouton de la souris


Type Date Auteur Contenu
Création du message 02-10-2010 13:17:29 TUpac
Y'a pas de soucis ça fait plaisir de transmettre son savoir car on l'a tous reçu de quelqu'un d'autre.
Je pense que tu saisis encore mal le concept d'event. Il serait judicieux de matter un ou deux tutos qui en parlent.
En fait à chaque boucle tu traite UN SEUL EVENT. Il s'appel "event" dans ton code et IL NE PEUT AVOIR DEUX VALEURS (EMIE_MOUSE_MOVED & EMIE_RMOUSE_PRESSED_DOWN).
Ton découpage est donc mauvais, il faut plus voir ça comme ça:

Code c++ :


bool OnEvent(SEvent &event)
{
    if(event.EventType == MOUSE_INPUT_EVENT)
    {
        if(event.MouseInput.Event == MOUSE_MOVED)
        {
            if(rotation)
            {
                // Code de rotation
            }
            return true;
        }
        if(event.MouseInput.Event == MOUSE_PRESSED)
        {
            rotation = true;
            return true;
        }
        if(event.MouseInput.Event == MOUSE_RELEASED)
        {
            rotation = false;
            return true;
        }
    }
    return false;
}

Normalement on utilise des switch() mais des if c'est plus parlant. Donc a chaque OnEvent appelé par la souris, l'event sera soit moved soit pressed soit released. Mais pas deux à la fois. C'est ma faute j'aurais du le repérer en voyant ton code mais comme je l'ai dis, irrlicht n'est plus instinctif pour moi depuis trop longtemps wink

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
174 invités en ligne
membre en ligne: -
RSS Feed