Java-Gaming.org Java4K winners: [ by our judges | by the community ]         
Featured games (67)
games approved by the League of Dukes
Games in Showcase (∞)
games submitted by our members



News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  Print  
  Animation screen issue  (Read 282 times)
0 Members and 2 Guests are viewing this topic.
Offline 02fentym

JGO n00b
*

Posts: 2



« on: 2011-08-23 00:17:45 »

Hi,

I am using LWJGL and I've been trying to make a box animate by bouncing around a 800x600 screen. For some reason, the box goes WAY outside of the screen limits on the bottom and right side of the screen. In an openGL forum I was reading that a 2D screen's centre is (0, 0), however in this program (which uses most of the code from the LWJGL website, is centered at (300, 400). I've tried to bound the box by going from -400 to 400 on the x and -300 to 300 on the y, but it doesn't work on the left side of the screen; it goes way off screen. The right side and bottom work when I do that though. Am I doing something wrong in how I'm setting up the screen? Please help!!

Mike (code below)

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
package graph1;

import org.lwjgl.LWJGLException;
import org.lwjgl.input.*;
import org.lwjgl.opengl.*;
import static org.lwjgl.opengl.GL11.*;

public class Test {
   float x = 100, y = 200;
   float xVel = 1, yVel = 2;
   float rotation = 0;
   
    public void start() {
        try {
           Display.setDisplayMode(new DisplayMode(800,600));
           Display.create();
        } catch (LWJGLException e) {
           e.printStackTrace();
           System.exit(0);
        }

        // init OpenGL here
       initGL();
     
        //game loop
       while (!Display.isCloseRequested()) {
       // render OpenGL here
          update();
           renderGL();
         
           Display.update();
           Display.sync(60);
        }
     
        Display.destroy();
    }
   
    public void initGL() {      
       glMatrixMode(GL_PROJECTION);
       glLoadIdentity();
       glOrtho(0, 800, 600, 0, 1, -1);
       glMatrixMode(GL_MODELVIEW);
    }
   
    public void renderGL() {
       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     
       //change the colour of the object
     glColor3f(0.5f, 0.0f, 0.8f);
     
      //creates the matrix that all transformations and other procedures will perform
     glPushMatrix();
         glTranslatef(x, y, 0);
         //glRotatef(rotation++, 0f, 0f, 1f);
       
         glBegin(GL_QUADS);
            glVertex2f(x - 50, y - 50);
            glVertex2f(x + 50, y - 50);
            glVertex2f(x + 50, y + 50);
            glVertex2f(x - 50, y + 50);
         glEnd();
      glPopMatrix();
    }
   
    public void update() {
       x += xVel;
       y += yVel;
       
       //System.out.format("x = %f, y = %f%n", x, y);
     
       if (x > 800) {
          x = 800;
          xVel *= -1;
       }
       if (x < 0) {
          x = 0;
          xVel *= -1;
       }
       if (y > 600) {
          y = 600;
          yVel *= -1;
       }
       if (y < 0) {
          y = 0;
          yVel *= -1;
       }
    }
   
    public static void main(String[] argv) {
        Test displayExample = new Test();
        displayExample.start();
    }
}
Offline 02fentym

JGO n00b
*

Posts: 2



« Reply #1 on: 2011-08-23 02:03:07 »

Never mind, I fixed it. I didn't need to do a glTranslate() since I was already incrementing the x & y values.
Pages: [1]
  Print  
 
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.089 seconds with 19 queries.