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(); }