diff --git a/core/src/de/samdev/cannonshooter/entities/Cannon.java b/core/src/de/samdev/cannonshooter/entities/Cannon.java index b16bfc6..a9915be 100644 --- a/core/src/de/samdev/cannonshooter/entities/Cannon.java +++ b/core/src/de/samdev/cannonshooter/entities/Cannon.java @@ -1,5 +1,8 @@ package de.samdev.cannonshooter.entities; +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Input.Buttons; + import de.samdev.absgdx.framework.entities.Entity; import de.samdev.absgdx.framework.entities.colliosiondetection.CollisionGeometryOwner; import de.samdev.absgdx.framework.entities.colliosiondetection.geometries.CollisionGeometry; @@ -12,6 +15,8 @@ public class Cannon extends Entity { private CannonBarrel barrel; private CannonHearth hearth; + public float power = 1f; // 1 = active | 0 = neutral + public Cannon(float x, float y) { super(Textures.cannon_body, 2, 2); @@ -29,6 +34,19 @@ public class Cannon extends Entity { layer.addEntity(hearth); } + @Override + public void beforeUpdate(float delta) { + if (isMouseOverEntity() && Gdx.input.justTouched() && Gdx.input.isButtonPressed(Buttons.LEFT) && power > 0) + { + power -= 0.1; + } + + if (isMouseOverEntity() && Gdx.input.justTouched() && Gdx.input.isButtonPressed(Buttons.RIGHT) && power < 1) + { + power += 0.1; + } + } + @Override public void onActiveCollide(CollisionGeometryOwner passiveCollider, CollisionGeometry myGeo, CollisionGeometry otherGeo) { // TODO Auto-generated method stub @@ -63,10 +81,4 @@ public class Cannon extends Entity { return false; } - @Override - public void beforeUpdate(float delta) { - // TODO Auto-generated method stub - - } - } diff --git a/core/src/de/samdev/cannonshooter/entities/CannonHearth.java b/core/src/de/samdev/cannonshooter/entities/CannonHearth.java index 52d7ef3..a2b75d5 100644 --- a/core/src/de/samdev/cannonshooter/entities/CannonHearth.java +++ b/core/src/de/samdev/cannonshooter/entities/CannonHearth.java @@ -13,11 +13,15 @@ import de.samdev.cannonshooter.ZLayers; public class CannonHearth extends Entity { private static final Color COLOR_NEUTRAL = new Color(0.75f, 0.75f, 0.75f, 1f); + private static final float ROTATION_SPEED = 0.125f; private float rotation = 0; + private Cannon cannon; + public CannonHearth(Cannon owner) { super(Textures.cannon_hearth[0], 2, 2); + cannon = owner; setPosition(owner.getPositionX(), owner.getPositionY()); @@ -32,7 +36,7 @@ public class CannonHearth extends Entity { sbatch.setColor(Color.RED); - renderTexture(sbatch, Textures.cannon_hearth[(int)(rotation/4f) % 64], 0, 0); + renderTexture(sbatch, Textures.cannon_hearth[(int)(cannon.power * 63)], 0, 0); sbatch.setColor(Color.WHITE); } @@ -73,12 +77,24 @@ public class CannonHearth extends Entity { @Override public void beforeUpdate(float delta) { - rotation = (rotation + 360 + delta / 8) % 360; + if (cannon.power < 1) + { + if (rotation != 0) + { + rotation = (rotation - delta * ROTATION_SPEED); + if (rotation < 0) rotation = 0; + } + } + else + { + rotation = (rotation - delta * ROTATION_SPEED); + if (rotation < 0) rotation += 45; + } } @Override public float getTextureRotation() { - return 0;//rotation; + return rotation; } @Override diff --git a/core/src/de/samdev/cannonshooter/level/StandardLevel.java b/core/src/de/samdev/cannonshooter/level/StandardLevel.java index 585dc0b..70f9e5d 100644 --- a/core/src/de/samdev/cannonshooter/level/StandardLevel.java +++ b/core/src/de/samdev/cannonshooter/level/StandardLevel.java @@ -19,7 +19,11 @@ public class StandardLevel extends GameLayer { setMapScaleResolver(new ShowCompleteMapScaleResolver()); - addEntity(new Cannon(10, 10)); + addEntity(new Cannon(7, 13)); + + addEntity(new Cannon(14, 5)); + + addEntity(new Cannon(20, 13)); } @Override diff --git a/data/cannon_sketch.pdn b/data/cannon_sketch.pdn index c3ab6ea..1584d8d 100644 Binary files a/data/cannon_sketch.pdn and b/data/cannon_sketch.pdn differ diff --git a/lib/absGDX-framework-1.0-source.jar b/lib/absGDX-framework-1.0-source.jar deleted file mode 100644 index 1c88577..0000000 Binary files a/lib/absGDX-framework-1.0-source.jar and /dev/null differ diff --git a/lib/absGDX-framework-1.0.jar b/lib/absGDX-framework-1.0.jar index e4e640e..77189ec 100644 Binary files a/lib/absGDX-framework-1.0.jar and b/lib/absGDX-framework-1.0.jar differ