Professional Documents
Culture Documents
*;
import java.awt.event.*;
import javax.swing.*;
import com.jogamp.opengl.*;
import com.jogamp.opengl.awt.*;
import com.jogamp.opengl.util.FPSAnimator;
@Override
public void display(GLAutoDrawable drawable) {
GL2 gl = drawable.getGL().getGL2();
gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
gl.glClear(gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT);
gl.glMatrixMode(GL2.GL_PROJECTION);
gl.glLoadIdentity();
//EL JUEGO
gl.glPushMatrix();
gl.glTranslatef(ejey, ejex, 0);
gl.glRotatef(angulo, 0f, 0f, 1f);//angulo eje x eje y eje z
figura(gl);
//cae el objeto
if(ejex>-0.9) {
ejex -=0.001f;
}
gl.glPopMatrix();
gl.glFlush();
//PARED DERECHA
gl.glColor3f(0,0,1);
gl.glPushMatrix();
gl.glTranslatef(1f, 0.0f, 0);
paredes(gl);
gl.glPopMatrix();
gl.glFlush();
//PARED IZQUIERDA
gl.glColor3f(0,0,1);
gl.glPushMatrix();
gl.glTranslatef(-0.5f, 0.0f, 0);
paredes(gl);
gl.glPopMatrix();
gl.glFlush();
}
public void generar(GL2 gl) {
for(int i=0;i<20;i++) {
paredes(gl);
}
}
public void paredes(GL2 gl) {
gl.glBegin(GL2.GL_POLYGON_BIT);
gl.glVertex3f(0.0f,1.0f,0.0f);
gl.glVertex3f(0.0f,-1.0f,0.0f);
gl.glVertex3f(-0.5f,1.0f,0.0f);
gl.glVertex3f(-0.5f,-1.0f,0.0f);
gl.glEnd();
}
public void figura(GL2 gl) {
gl.glScalef(0.5f, 0.5f, 0f);
gl.glColor3f(0,1,0);
gl.glBegin(GL2.GL_POLYGON);
gl.glVertex3f(0.0f,0.2f,0.0f);
gl.glVertex3f(-0.2f,0.2f,0.0f);
gl.glVertex3f(-0.2f,-0.2f,0.0f);
gl.glVertex3f(0.0f,-0.2f,0.0f);
gl.glEnd();
gl.glColor3f(0,1,0);
gl.glBegin(GL2.GL_POLYGON);
gl.glVertex3f(0.0f,0.0f,0.0f);
gl.glVertex3f(0.0f,-0.2f,0.0f);
gl.glVertex3f(0.4f,-0.2f,0.0f);
gl.glVertex3f(0.4f,0.0f,0.0f);
gl.glEnd();
}
@Override
public void keyPressed(java.awt.event.KeyEvent e) {
int key = e.getKeyCode();
if (key==38) { //arriba
angulo=angulo+90;
@Override
public void dispose(GLAutoDrawable drawable) {
// TODO Auto-generated method stub
}
@Override
public void init(GLAutoDrawable drawable) {
// called when the panel is created
GL2 gl2 = drawable.getGL().getGL2();
gl2.glMatrixMode(GL2.GL_PROJECTION);
gl2.glOrtho(-4, 4, -2, 2, -2, 2); // simple orthographic projection
gl2.glMatrixMode(GL2.GL_MODELVIEW);
gl2.glClearColor( 0.5F, 0.5F, 0.5F, 1 );
gl2.glEnable(GL2.GL_DEPTH_TEST);
}
@Override
public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int
arg4) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(java.awt.event.KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(java.awt.event.KeyEvent e) {
// TODO Auto-generated method stub
}