From 642a1d8261beb4f3f0746fd5d3f2d1126ea524cb Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Wed, 9 Oct 2013 12:29:21 +0400 Subject: [PATCH] =?UTF-8?q?feature(foxy)=20=D0=9F=D0=BE=D0=B2=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D1=82=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=D1=83=D1=80=D1=8B?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D0=BD=D0=B0=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8E=20=D0=B4=D0=B2=D0=B8=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BF=D0=B5=D1=80=D1=81=D0=BE=D0=BD=D0=B0=D0=B6?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ru/dmitriymx/game/Foxy.java | 35 +++++++++++++++++++++++++-------- src/ru/dmitriymx/game/Main.java | 9 +++++++++ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/ru/dmitriymx/game/Foxy.java b/src/ru/dmitriymx/game/Foxy.java index 446f577..d6b8dbc 100644 --- a/src/ru/dmitriymx/game/Foxy.java +++ b/src/ru/dmitriymx/game/Foxy.java @@ -5,12 +5,17 @@ import org.lwjgl.opengl.GL11; public class Foxy { private Sprite texture; private int x, y; + private boolean inverse = false; public Foxy(){ texture = new Sprite(Foxy.class.getResourceAsStream("/ru/dmitriymx/game/foxy2.png"), 38, 33); x = y = 0; } + public void setInverse(boolean value){ + inverse = value; + } + public void render(){ Sprite.Coords frame = texture.getFrame(); final int K = 2; @@ -20,17 +25,31 @@ public class Foxy { GL11.glBegin(GL11.GL_QUADS); - GL11.glTexCoord2f(texture.floatX(frame.x1),texture.floatY(frame.y1)); - GL11.glVertex2f(0, 0); + if(inverse){ + GL11.glTexCoord2f(texture.floatX(frame.x2),texture.floatY(frame.y1)); + GL11.glVertex2f(0, 0); - GL11.glTexCoord2f(texture.floatX(frame.x2),texture.floatY(frame.y1)); - GL11.glVertex2f(texture.getWidthSprite()*K, 0); + GL11.glTexCoord2f(texture.floatX(frame.x1),texture.floatY(frame.y1)); + GL11.glVertex2f(texture.getWidthSprite()*K, 0); - GL11.glTexCoord2f(texture.floatX(frame.x2),texture.floatY(frame.y2)); - GL11.glVertex2f(texture.getWidthSprite()*K, texture.getHeightSprite()*K); + GL11.glTexCoord2f(texture.floatX(frame.x1),texture.floatY(frame.y2)); + GL11.glVertex2f(texture.getWidthSprite()*K, texture.getHeightSprite()*K); - GL11.glTexCoord2f(texture.floatX(frame.x1),texture.floatY(frame.y2)); - GL11.glVertex2f(0, texture.getHeightSprite()*K); + GL11.glTexCoord2f(texture.floatX(frame.x2),texture.floatY(frame.y2)); + GL11.glVertex2f(0, texture.getHeightSprite()*K); + } else { + GL11.glTexCoord2f(texture.floatX(frame.x1),texture.floatY(frame.y1)); + GL11.glVertex2f(0, 0); + + GL11.glTexCoord2f(texture.floatX(frame.x2),texture.floatY(frame.y1)); + GL11.glVertex2f(texture.getWidthSprite()*K, 0); + + GL11.glTexCoord2f(texture.floatX(frame.x2),texture.floatY(frame.y2)); + GL11.glVertex2f(texture.getWidthSprite()*K, texture.getHeightSprite()*K); + + GL11.glTexCoord2f(texture.floatX(frame.x1),texture.floatY(frame.y2)); + GL11.glVertex2f(0, texture.getHeightSprite()*K); + } GL11.glEnd(); diff --git a/src/ru/dmitriymx/game/Main.java b/src/ru/dmitriymx/game/Main.java index 811c9e5..232791a 100644 --- a/src/ru/dmitriymx/game/Main.java +++ b/src/ru/dmitriymx/game/Main.java @@ -1,6 +1,7 @@ package ru.dmitriymx.game; import org.lwjgl.LWJGLException; +import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode; import org.lwjgl.opengl.GL11; @@ -33,6 +34,14 @@ public class Main { } private void render(){ + while(Keyboard.next()){ + if(Keyboard.getEventKey() == Keyboard.KEY_LEFT){ + foxy.setInverse(true); + } else if (Keyboard.getEventKey() == Keyboard.KEY_RIGHT){ + foxy.setInverse(false); + } + } + foxy.render(); }