diff --git a/android/assets/barrel.png b/android/assets/barrel.png deleted file mode 100644 index 38ba2ff..0000000 Binary files a/android/assets/barrel.png and /dev/null differ diff --git a/android/assets/cannon.png b/android/assets/cannon.png deleted file mode 100644 index dd62d0d..0000000 Binary files a/android/assets/cannon.png and /dev/null differ diff --git a/android/assets/cannon_barrel.png b/android/assets/cannon_barrel.png index 44a2298..6137cf4 100644 Binary files a/android/assets/cannon_barrel.png and b/android/assets/cannon_barrel.png differ diff --git a/core/src/de/samdev/cannonshooter/Textures.java b/core/src/de/samdev/cannonshooter/Textures.java index 3c67ada..568e9fd 100644 --- a/core/src/de/samdev/cannonshooter/Textures.java +++ b/core/src/de/samdev/cannonshooter/Textures.java @@ -1,12 +1,15 @@ package de.samdev.cannonshooter; import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.TextureRegion; + +import de.samdev.absgdx.framework.util.TextureHelper; public final class Textures { public static Texture texbackground; public static Texture cannon_body; - public static Texture cannon_barrel; + public static TextureRegion[] cannon_barrel; public static Texture cannon_hearth; public static Texture cannon_bullet; @@ -14,6 +17,6 @@ public final class Textures { texbackground = new Texture("level_background.png"); cannon_body = new Texture("cannon_body.png"); - cannon_barrel = new Texture("cannon_barrel.png"); + cannon_barrel = TextureHelper.load1DArray("cannon_barrel.png", 512, 256, 16); } } diff --git a/core/src/de/samdev/cannonshooter/entities/CannonBarrel.java b/core/src/de/samdev/cannonshooter/entities/CannonBarrel.java index 446575b..ac65e76 100644 --- a/core/src/de/samdev/cannonshooter/entities/CannonBarrel.java +++ b/core/src/de/samdev/cannonshooter/entities/CannonBarrel.java @@ -8,11 +8,13 @@ import de.samdev.cannonshooter.Textures; import de.samdev.cannonshooter.ZLayers; public class CannonBarrel extends Entity { - + private static final float ANIMATION_DURATION = 2000; + + private float rotation = 0; public CannonBarrel(Cannon owner) { - super(Textures.cannon_barrel, 4, 2); + super(Textures.cannon_barrel, ANIMATION_DURATION, 4, 2); setPosition(owner.getPositionX() - 1, owner.getPositionY()); @@ -61,7 +63,7 @@ public class CannonBarrel extends Entity { @Override public float getTextureRotation() { - return rotation; + return 0; } @Override diff --git a/data/CreateSpriteSheet_Simple.linq b/data/CreateSpriteSheet_Simple.linq new file mode 100644 index 0000000..0e577c7 --- /dev/null +++ b/data/CreateSpriteSheet_Simple.linq @@ -0,0 +1,30 @@ + + System.Drawing + System.Drawing.Imaging + + +void Main() +{ + Image input = Image.FromFile(@"F:\Eigene Dateien\Dropbox\Programming\Java\workspace\Cannon Shooter\data\cannon_barrel_single.png"); + + Image output = new Bitmap(input.Width * 4, input.Height * 4, PixelFormat.Format32bppArgb); + + using (Graphics g = Graphics.FromImage(output)) + { + for (int x = 0; x < 4; x++) + { + for (int y = 0; y < 4; y++) + { + int idx = y*4 + x; + + g.DrawImageUnscaledAndClipped(input, new Rectangle(input.Width * x, input.Height * y, input.Width - idx * 8 - 22, input.Height)); + + g.DrawImage(input, new Rectangle(input.Width * (x+1) - idx * 8 - 22, input.Height * y, 22, input.Height), new Rectangle(input.Width - 22, 0, 22, input.Height), GraphicsUnit.Pixel); + } + } + } + + output.Dump(); + + output.Save(@"F:\Eigene Dateien\Dropbox\Programming\Java\workspace\Cannon Shooter\android\assets\cannon_barrel.png"); +} \ No newline at end of file diff --git a/data/cannon_barrel_single.png b/data/cannon_barrel_single.png new file mode 100644 index 0000000..79b65b3 Binary files /dev/null and b/data/cannon_barrel_single.png differ diff --git a/data/cannon_sketch.pdn b/data/cannon_sketch.pdn index 3bf5f54..c3ab6ea 100644 Binary files a/data/cannon_sketch.pdn and b/data/cannon_sketch.pdn differ