From ecb7e8ffe689f05b678e9b436528d19d63add272 Mon Sep 17 00:00:00 2001 From: thoniorf Date: Tue, 8 Sep 2015 21:33:59 +0200 Subject: [PATCH] Updated sprite animation - now full works. Updated actor class - wrong sprite.update parameters --- .../gamecore/animation/Sprite.java | 30 +++++++++---------- .../gamecore/object/actor/Actor.java | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/it/batteringvalhalla/gamecore/animation/Sprite.java b/src/it/batteringvalhalla/gamecore/animation/Sprite.java index 2a7ba4d..4e9b5b4 100644 --- a/src/it/batteringvalhalla/gamecore/animation/Sprite.java +++ b/src/it/batteringvalhalla/gamecore/animation/Sprite.java @@ -56,25 +56,25 @@ public Sprite(Image img, Integer imageWidth, Integer imageHeight, framesPerRow = new Integer(imageWidth / frameWidth); } - public void update(float speedx, float speedy) { - - currentFrame = (currentFrame + 1) % endFrame; - counter = (counter + 1) % frameSpeed; - frameCol = currentFrame % framesPerRow; - frameRow = currentFrame / framesPerRow; - + public void update(Direction dir) { + if (!(dir == Direction.stop && currentFrame == 1)) { + currentFrame = (currentFrame + 1) % endFrame; + counter = (counter + 1) % frameSpeed; + frameCol = currentFrame % framesPerRow; + frameRow = currentFrame / framesPerRow; + } g2 = (Graphics2D) frame.getGraphics(); g2.drawImage(img.getSubimage(frameCol * frameWidth, frameRow * frameHeight, frameWidth, frameHeight), 0, 0, null); g2.dispose(); - // if (dir != imgDir && dir != Direction.stop) { - AffineTransform tx = AffineTransform.getScaleInstance(-1, 1); - tx.translate(-frame.getWidth(null), 0); - AffineTransformOp op = new AffineTransformOp(tx, - AffineTransformOp.TYPE_NEAREST_NEIGHBOR); - frame = op.filter(frame, null); - // imgDir = dir; - // } + if (dir == Direction.ovest || imgDir == Direction.ovest) { + AffineTransform tx = AffineTransform.getScaleInstance(-1, 1); + tx.translate(-frame.getWidth(null), 0); + AffineTransformOp op = new AffineTransformOp(tx, + AffineTransformOp.TYPE_NEAREST_NEIGHBOR); + frame = op.filter(frame, null); + imgDir = (dir != Direction.stop) ? dir : imgDir; + } } public BufferedImage getFrame() { diff --git a/src/it/batteringvalhalla/gamecore/object/actor/Actor.java b/src/it/batteringvalhalla/gamecore/object/actor/Actor.java index 2275821..3cad9c7 100755 --- a/src/it/batteringvalhalla/gamecore/object/actor/Actor.java +++ b/src/it/batteringvalhalla/gamecore/object/actor/Actor.java @@ -50,7 +50,7 @@ public void incrementLive() { @Override public void update() { super.update(); - sprite.update(speedX,speedY); + sprite.update(direction); }; @Override