Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Miketo

Sleep no OpenGL

Mensagens Recomendadas

Miketo

Boas.

Eu estive a ver o seguinte tópico, mas como já é bastante antigo vou colocar a minha questão num novo.

http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=20107

No tópico em questão é feito um quadrado que pisca entre o amarelo e o vermelho, com 500 milisegundos entre cada piscadela.

Agora o que eu quero fazer é, tendo um quadrado padrão, vou depois criar uma sequência de 6 quadrados com esse padrão. Mas queria que entre cada quadrado houvesse uma pequena pausa, como se estivesse a colocar um quadrado de cada vez, e não tudo ao mesmo tempo. Tentei usar a função sleep como no tópico que indico, mas o que acontece é que ele espera o tempo todo... e só depois que mostra tudo duma vez. Podem indicar-me uma maneira de corrigir isso?

Aqui fica a parte do código onde uso o Sleep.

for (i=0; i<6; i++){
			Padrao(colour,x);
			x=x+100;	// desloca o padrao para a direita
			Sleep(500);
		}

A função padrao é a seguinte:

void Padrao(float **colour, int x){

glBegin(GL_QUADS);

	glColor3f(colour[0][0], colour[0][1], colour[0][2]);
	glVertex2f(0+x,0);
	glColor3f(colour[1][0], colour[1][1], colour[1][2]);
	glVertex2f(100+x,0);
	glColor3f(colour[2][0], colour[2][1], colour[2][2]);
	glVertex2f(100+x,100);
	glColor3f(colour[3][0], colour[3][1], colour[3][2]);
	glVertex2f(0+x,100);

glEnd();
glFlush();

}

Se for preciso, coloco aqui o código todo. Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.