Salve..
Vi mostro il mio spezzone di algoritmo:
codice:
void specialKeyboard( int key, int x, int y){
bool spostamentoConsentito=false;
if( key == GLUT_KEY_UP ){
spostamentoConsentito = personaggio.sposta( muro, Tastiera::AVANTI );
if(spostamentoConsentito){
camera.sposta( Tastiera::AVANTI );
glutPostRedisplay();
}
}
else if ( key == GLUT_KEY_DOWN ){
spostamentoConsentito = personaggio.sposta(muro, Tastiera::DIETRO );
if(spostamentoConsentito){
camera.sposta( Tastiera::DIETRO);
glutPostRedisplay();
}
}
}
La parte logica del mio algoritmo funziona bene, solamente che il :
codice:
glutPostRedisplay()
viene saltato e quindi a sua volta non viene effettuato il redisplay..
Il redisplay viene effettuato una volta quando premo il tasto ed una seconda volta quando lo rilascio, ma quando lo tengo premuto per un tot di tempo, tale "glutPostRedisplay()" non viene chiamato..
A tale problematica, potete aiutarmi????