Historique des modifications - Message

Message #8872

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


Type Date Auteur Contenu
Création du message 03-10-2010 10:23:46 Magun
bon finalement je vais y dir un mot ... hmm

il te fait utilise ton premiere code d'exemple, mais l'orsque tu clique il te faut récupéré la position initiale du curseur
et quand tu bouge une seconde position
l'orsque que vien le moment de passer la rotation au node il te faut rajouter la distance parcourue entre le point initial et le point final

il te faut donc faire quelque chose dans le genre:

Code c++ :


irr::core::line2df rotate;

bool OnEvent(SEvent &event)
{
    if(event.EventType == MOUSE_INPUT_EVENT)
    {
        if(event.MouseInput.Event == MOUSE_MOVED && rotation)
        {
            rotate.end = device->getCursorControl()->getPosition();
            float rotation = 0; // la tu récupère la rotation 'current'
               rotation += rotate.getLength();
            return true;
        }
        if(event.MouseInput.Event == MOUSE_PRESSED)
        {
            rotate.start = device->getCursorControl()->getPosition();
            rotation = true;
            return true;
        }
        if(event.MouseInput.Event == MOUSE_RELEASED)
        {
            rotation = false;
            return true;
        }
    }
    return false;
}


ps: pitié les variable pas en dehord du code ou d'une class, on perd l'utiliter de la poo !
ps2: il te faut aussi rajouter un petit algo pour que la rotation ne dépasse pas 360, sinon il pourrais y avoir un bug par raport a la valeur max du type de variable
quelque chose du genre: << rotation = rotate >= 360 ? rotate-(360*((int)(rotate/360))) : rotate; >>

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