From: Caspian Rychlik-P. <ci...@us...> - 2002-08-25 10:04:13
|
Update of /cvsroot/java-game-lib/LWJGL/doc/tutorial In directory usw-pr-cvs1:/tmp/cvs-serv4176/doc/tutorial Modified Files: skeleton_code.html Log Message: Tweaks Index: skeleton_code.html CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/doc/tutorial/skeleton_code.html =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/doc/tutorial/skeleton_code.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- skeleton_code.html 24 Aug 2002 16:34:40 -0000 1.1 +++ skeleton_code.html 25 Aug 2002 10:04:09 -0000 1.2 @@ -144,134 +144,129 @@ write a fullscreen Java game using LWJGL. Because we're games programmers, we don't want to do a Hello World as we'd probably rather shoot it. But before we can make bullets we must pay homage to the <i>rotating square!</i></p> -<p style="background-color: #FFFFCC; border-style: solid; border-width: 1; padding: 3"><code>public +<p style="background-color: #FFFFCC; border-style: solid; border-width: 1; padding: 3"><code>import +org.lwjgl.*;<br> +import org.lwjgl.opengl.*;<br> +import org.lwjgl.input.*;<br> +<br> +<br> +public final class Game {<br> -static {<br> -try {<br> -DisplayMode[] modes = Display.getAvailableDisplayModes();<br> -System.out.println("Available display modes:");<br> -for (int i = 0; i < modes.length; i ++)<br> + static {<br> + try {<br> + DisplayMode[] modes = Display.getAvailableDisplayModes();<br> + System.out.println("Available display modes:");<br> + for (int i = 0; i < modes.length; i ++)<br> + System.out.println(modes[i]);<br> -// For now let's just pick a mode we're certain to have<br> -Display.create(new DisplayMode(640, 480, 16, 60), true);<br> -System.out.println("Created display.");<br> -} catch (Exception e) {<br> -System.err.println("Failed to create display due to "+e);<br> -System.exit(1);<br> -}<br> -}<br> -public static final GL gl = new GL(16, 0, 16, 8);<br> -static {<br> -try {<br> -gl.create();<br> -System.out.println("Created OpenGL.");<br> -} catch (Exception e) {<br> -System.err.println("Failed to create OpenGL due to "+e);<br> -System.exit(1);<br> -}<br> -}<br> -/** A handy number formatter for use displaying FPS and the like */<br> -public static NumberFormat fmt = new DecimalFormat();<br> -static {<br> -fmt.setMaximumFractionDigits(1);<br> -fmt.setMinimumFractionDigits(1);<br> -fmt.setGroupingUsed(false);<br> -}<br> -/** Is the game finished? */<br> -private static boolean finished;<br> -/** A rotating square! */<br> -private static float angle;<br> -/**<br> -* No construction allowed<br> -*/<br> -private Game() {<br> -}<br> -public static void main(String[] arguments) {<br> -try {<br> -init();<br> -int frames = 0;<br> -float fps = 0.0f;<br> -Timer timer = new Timer();<br> -timer.reset();<br> -timer.resume();<br> -while (!finished) {<br> -AbsMouse.poll();<br> + // For now let's just pick a mode we're certain to have<br> + Display.create(new DisplayMode(640, 480, 16, 60), true);<br> + System.out.println("Created display.");<br> + } catch (Exception e) {<br> + System.err.println("Failed to create display due to "+e);<br> + System.exit(1);<br> + }<br> + }<br> +<br> + public static final GL gl = new GL(16, 0, 16, 8);<br> + static {<br> + try {<br> + gl.create();<br> + System.out.println("Created OpenGL.");<br> + } catch (Exception e) {<br> + System.err.println("Failed to create OpenGL due to "+e);<br> + System.exit(1);<br> + }<br> + }<br> +<br> + /** Is the game finished? */<br> + private static boolean finished;<br> +<br> + /** A rotating square! */<br> + private static float angle;<br> +<br> + /**<br> + * No construction allowed<br> + */<br> + private Game() {<br> + }<br> +<br> + public static void main(String[] arguments) {<br> + try {<br> + init();<br> + while (!finished) {<br> + Keyboard.poll();<br> -Keyboard.read();<br> -gl.clear(GL.COLOR_BUFFER_BIT);<br> + mainLoop();<br> + render();<br> + gl.swapBuffers();<br> -// Count the frames per second. Do with this what you will..<br> -frames++;<br> -float time = timer.getTime();<br> -if (time >= 1.0f) {<br> -fps = (int) (frames / time);<br> -timer.reset();<br> -frames = 0;<br> -}<br> -}<br> -} catch (Throwable t) {<br> + }</code> <code><br> + } catch (Throwable t) {<br> + t.printStackTrace();<br> -} finally {<br> -cleanup();<br> -}<br> -}<br> + } finally {<br> + cleanup();<br> + }<br> + }<br> <br> -/**<br> -* All calculations are done in here<br> -*/<br> -private static void mainLoop() {<br> -angle += 1f;<br> -if (angle > 360.0f)<br> -angle = 0.0f;<br> + /**<br> + * All calculations are done in here<br> + */<br> + private static void mainLoop() {<br> + angle += 1f;<br> + if (angle > 360.0f)<br> + angle = 0.0f;<br> <br> -if (Keyboard.isKeyDown(Keyboard.KEY_ESCAPE))<br> -finished = true;<br> -}<br> + Keyboard.poll(); <br> -/**<br> -* All rendering is done in here<br> -*/<br> -private static void render() {<br> + if (Keyboard.isKeyDown(Keyboard.KEY_ESCAPE))<br> + finished = true;<br> + }<br> <br> -gl.pushMatrix();<br> -gl.translatef(Display.getWidth() / 2, Display.getHeight() / 2, 0.0f);<br> -gl.rotatef(angle, 0, 0, 1.0f);<br> -gl.begin(GL.QUADS);<br> -gl.vertex2i(-50, -50);<br> -gl.vertex2i(50, -50);<br> -gl.vertex2i(50, 50);<br> -gl.vertex2i(-50, 50);<br> -gl.end();<br> -gl.popMatrix();<br> -}<br> -/**<br> -* Initialize<br> -*/<br> -private static void init() throws Exception {<br> -Keyboard.create();<br> -Keyboard.enableBuffer();<br> -Mouse.create();<br> -// Go into orthographic projection mode.<br> -gl.matrixMode(GL.PROJECTION);<br> -gl.loadIdentity();<br> -gl.glu.ortho2D(0, Display.getWidth(), 0, Display.getHeight());<br> -gl.matrixMode(GL.MODELVIEW);<br> -gl.loadIdentity();<br> -gl.viewport(0, 0, Display.getWidth(), Display.getHeight());<br> -// Fix the refresh rate to the display frequency.<br> -gl.wglSwapIntervalEXT(1);<br> -}<br> -/**<br> -* Cleanup<br> -*/<br> -private static void cleanup() {<br> -Keyboard.destroy();<br> -Mouse.destroy();<br> -gl.destroy();<br> -Display.destroy();<br> -}<br> + /**<br> + * All rendering is done in here<br> + */<br> + private static void render() {<br> + gl.clear(GL.COLOR_BUFFER_BIT);<br> + gl.pushMatrix();<br> + gl.translatef(Display.getWidth() / 2, Display.getHeight() / 2, 0.0f);<br> + gl.rotatef(angle, 0, 0, 1.0f);<br> + gl.begin(GL.QUADS);<br> + gl.vertex2i(-50, -50);<br> + gl.vertex2i(50, -50);<br> + gl.vertex2i(50, 50);<br> + gl.vertex2i(-50, 50);<br> + gl.end();<br> + gl.popMatrix();<br> + }<br> +<br> + /**<br> + * Initialize<br> + */<br> + private static void init() throws Exception {<br> + Keyboard.create();<br> + // Go into orthographic projection mode.<br> + gl.matrixMode(GL.PROJECTION);<br> + gl.loadIdentity();<br> + glu.ortho2D(0, Display.getWidth(), 0, Display.getHeight());<br> + gl.matrixMode(GL.MODELVIEW);<br> + gl.loadIdentity();<br> + gl.viewport(0, 0, Display.getWidth(), Display.getHeight());<br> + // Fix the refresh rate to the display frequency.<br> + gl.wglSwapIntervalEXT(1);<br> + }<br> +<br> + /**<br> + * Cleanup<br> + */<br> + private static void cleanup() {<br> + Keyboard.destroy();<br> + </code> <code>gl.destroy();<br> + Display.destroy();<br> + }<br> }</code></p> </body> |