Opengl, funkcja translatef i ujemne wartosci
Ostatnio zmodyfikowano 2012-08-15 22:37
anonim Temat założony przez niniejszego użytkownika |
Opengl, funkcja translatef i ujemne wartosci » 2012-08-15 22:17:13 Witam ponownie ;) Mam taki problem: Są 2 zmienne typu float - transX i transZ, na początku równe 0.0; Obsługa klawiszy: void handleKeypress( unsigned char key, int x, int y ) { switch( key ) { case 27: cleanup(); exit( 0 ); break; case '+': scaleFloat += 0.05; break; case '-': scaleFloat -= 0.05; break; case 'a': transX -= 1.0; case 'd': transX += 1.0; case 'w': transZ -= 1.0; case 's': transZ += 1.0; } } następnie obsługuje te zmienne funkcją glTranslatef(transX, 0.0, transZ); W moim zamierzeniu ma to przesuwac obiekt na scenie, niestety działa tylko dla klawiszy 'd' i 's', czyli klawiszy zmniejszających wartości transX i transZ |
|
kamillo121 |
» 2012-08-15 22:32:25 case 'a': transX -= 1.0;
case 'd': transX += 1.0;
case 'w': transZ -= 1.0;
case 's': transZ += 1.0;
} }
W tych miejscach powstawiaj break o ile ich brak nie jest zamierzony. Jeżeli z case'a wybierze 'a' to wykona się kolejno: transX -= 1.0; transX += 1.0; transZ -= 1.0; transZ += 1.0;
co w tym wypadku zawsze na wyjściu zwiększy o podaną wartość i X i Z. Zamień na: case 'a': transX -= 1.0; break;
case 'd': transX += 1.0; break;
case 'w': transZ -= 1.0; break;
case 's': transZ += 1.0; break;
} }
W dodatku procedura na wejściu pobiera trzy wartości z czego dwie ostatnie nie są używane, celowo ? |
|
anonim Temat założony przez niniejszego użytkownika |
» 2012-08-15 22:37:10 Wielkie dzięki O kurcze! Już dawno takiego przeoczenia nie zrobiłem. Ale mówią, że człowiek uczy się na błędach ;) Jeszcze raz wielkie dzięki. |
|
« 1 » |