Oppure

Loading
23/06/13 12:20
sarbaturino
Salve..

Vi mostro il mio spezzone di algoritmo:

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

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????
aaa
28/06/13 17:53
carlduke
dovresti inserire un flag che rimane true fino a quando il tasto è premuto, e in un altro ciclo controllare il valore. se true allora chiama glutPostRedisplay.. ma non so quanto ti possa convenire inserire la chiamata nella funzione per l'input della tastiera..! :k:
aaa
01/07/13 9:48
sarbaturino
Ciao, perdonami il ritardo della mia risposta..
Il problema l'avevo risolto..Praticamente avevo fatto un passaggio per copia invece di un passaggio per riferimento e quindi avevo delle perdite di efficienza e di prestazione del mio progetto..Ora va più che bene!!!Grazie..
aaa