Historique des modifications - Message

Message #8872

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


TypeDateAuteurContenu
Création du message03-10-2010 10:23:46Magun
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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
112 invités en ligne
membre en ligne: -
RSS Feed