1 / 8

Animação 2D

Animação 2D. // Variáveis que guardam a translação que será aplicada // sobre a casinha GLfloat Tx ; GLfloat Ty; // Variáveis que guardam os valores mínimos de x e y da // casinha GLfloat minX , maxX ; GLfloat minY , maxY ;

chaim
Download Presentation

Animação 2D

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Animação 2D

  2. // Variáveisqueguardam a translaçãoqueseráaplicada // sobre a casinha GLfloatTx; GLfloat Ty; // Variáveisqueguardamosvaloresmínimos de x e y da // casinha GLfloatminX, maxX; GLfloatminY, maxY; // Variáveisqueguardam o tamanho do incrementonas // direções x e y (número de pixels para se mover a // cadaintervalo de tempo) GLfloatxStep; GLfloatyStep; // Variáveisqueguardam a largura e altura da janela GLfloatwindowXmin, windowXmax; GLfloatwindowYmin, windowYmax;

  3. // Função callback de redesenho da janela de visualização void Desenha(void) { // Muda para o sistema de coordenadas do modelo glMatrixMode(GL_MODELVIEW); // Inicializa a matriz de transformação corrente glLoadIdentity(); // Limpa a janela de visualização com a cor // de fundo definida previamente glClear(GL_COLOR_BUFFER_BIT); // Aplica uma translação sobre a casinha glTranslatef(Tx, Ty, 0.0f); ... // desenha o que vc quiser ... // Executa os comandos OpenGL glutSwapBuffers(); }

  4. Funções e Variáveis que Devem ser colocadas // Função callback chamada quando o tamanho da janela é alterado voidAlteraTamanhoJanela(GLsizei w, GLsizei h) { ... } // Função callback chamadaparagerenciareventos de teclas void Teclado (unsigned char key, int x, int y) { if (key == 27) exit(0); }

  5. Funções e Variáveis que Devem ser colocadas // Função callback chamada pela GLUT a cada intervalo de tempo void Anima(intvalue) { // Muda a direção quando chega na borda esquerda ou direita if( (Tx+maxX) > windowXmax || (Tx+minX) < windowXmin ) xStep = -xStep; // Muda a direção quando chega na borda superior ou inferior if( (Ty+maxY) > windowYmax || (Ty+minY) < windowYmin ) yStep = -yStep; // Move a casinha Tx += xStep; Ty += yStep; // Redesenha a casinha em outra posição glutPostRedisplay(); glutTimerFunc(150,Anima, 1); }

  6. // Funçãoresponsávelporinicializarparâmetros e variáveis void Inicializa (void) { // Define a cor de fundo da janela de visualizaçãocomobranca glClearColor(1.0f, 1.0f, 1.0f, 1.0f); // Inicialização das variáveisglobais xStep = yStep = 1.0f; Tx = Ty = 0.0f; minX = -15.0f; maxX = 15.0f; minY = -15.0f; maxY = 17.0f; windowXmin = windowYmin = -40.0f; windowXmax = windowYmax = 40.0f; }

  7. // Programa Principal intmain(void) { // Define do modo de operação da GLUT glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); //Registra as callbacks necessárias // Registra a função callback que será chamada a cada intervalo de tempo glutTimerFunc(150, Anima, 1); // Chama a função responsável por fazer as inicializações I // Inicia o processamento e aguarda interações do usuário glutMainLoop(); return 0; }

  8. TAREFA • Fazerumaanimação 2D semelhanteao demo AnimaCasa • Fazerumaanimação 3D semelhanteao demo Anima3D

More Related