diff --git a/src/actor/Skeleton.java b/src/actor/Skeleton.java index 4449e25118e8c14f9dd5dcc2da0ab60650723ac1..6e988b15ece4a9904803d8e1e93b15b83f88c9a4 100644 --- a/src/actor/Skeleton.java +++ b/src/actor/Skeleton.java @@ -12,6 +12,11 @@ public class Skeleton extends Actor { private static final int IDLE_HORIZON = 1; private static final int WALK_HORIZON = 3; + private static final int IDLE_VERTICAL_LEFT = 4; + private static final int WALK_VERTICAL_LEFT = 5; + private static final int IDLE_HORIZON_LEFT = 6; + private static final int WALK_HORIZON_LEFT = 7; + private static final int LAYER = 2; //type @@ -65,15 +70,31 @@ public class Skeleton extends Actor { public void animationUpdate() { if (isMoving()) { if (currentType == TYPE_VERTICAL) { - getAnimationManager().toState(WALK_VERTICAL); + if (getFace() == LEFT) { + getAnimationManager().toState(WALK_VERTICAL_LEFT); + } else { + getAnimationManager().toState(WALK_VERTICAL); + } } else if (currentType == TYPE_HORIZON) { - getAnimationManager().toState(WALK_HORIZON); + if (getFace() == LEFT) { + getAnimationManager().toState(WALK_HORIZON_LEFT); + } else { + getAnimationManager().toState(WALK_HORIZON); + } } } else { if (currentType == TYPE_VERTICAL) { - getAnimationManager().toState(IDLE_VERTICAL); + if (getFace() == LEFT) { + getAnimationManager().toState(IDLE_VERTICAL_LEFT); + } else { + getAnimationManager().toState(IDLE_VERTICAL); + } } else if (currentType == TYPE_HORIZON) { - getAnimationManager().toState(IDLE_HORIZON); + if (getFace() == LEFT) { + getAnimationManager().toState(IDLE_HORIZON_LEFT); + } else { + getAnimationManager().toState(IDLE_HORIZON); + } } } } @@ -116,11 +137,44 @@ public class Skeleton extends Actor { walkHorizon.addFrame(frame30); walkHorizon.addFrame(frame31); + Animation idleVerticalL = new Animation(); + Image frame40 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_up_idle_left_0.png"); + Image frame41 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_up_idle_left_1.png"); + Image frame42 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_up_idle_left_2.png"); + idleVerticalL.addFrame(frame40); + idleVerticalL.addFrame(frame41); + idleVerticalL.addFrame(frame42); + + Animation idleHorizonL = new Animation(); + Image frame50 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_down_idle_left_0.png"); + Image frame51 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_down_idle_left_1.png"); + Image frame52 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_down_idle_left_2.png"); + idleHorizonL.addFrame(frame50); + idleHorizonL.addFrame(frame51); + idleHorizonL.addFrame(frame52); + + Animation walkVerticalL = new Animation(); + Image frame60 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_up_walk_left_0.png"); + Image frame61 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_up_walk_left_1.png"); + walkVerticalL.addFrame(frame60); + walkVerticalL.addFrame(frame61); + + Animation walkHorizonL = new Animation(); + Image frame70 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_down_walk_left_0.png"); + Image frame71 = new Image("res/ActorExtensionPack/Actor/Skeleton/skeleton_down_walk_left_1.png"); + walkHorizonL.addFrame(frame70); + walkHorizonL.addFrame(frame71); + animationStateManager.add(idleVertical); animationStateManager.add(idleHorizon); animationStateManager.add(walkVertical); animationStateManager.add(walkHorizon); + animationStateManager.add(idleVerticalL); + animationStateManager.add(idleHorizonL); + animationStateManager.add(walkVerticalL); + animationStateManager.add(walkHorizonL); + return animationStateManager; } diff --git a/src/actor/Spider.java b/src/actor/Spider.java index b3a5f6c66bc419335fc7f51ebadd40c971e2f3ab..166311b1a503db8c67be437015d965953a6299c6 100644 --- a/src/actor/Spider.java +++ b/src/actor/Spider.java @@ -9,6 +9,8 @@ public class Spider extends Actor { //state private static final int IDLE = 0; private static final int WALK = 1; + private static final int IDLE_RIGHT = 2; + private static final int WALK_RIGHT = 3; private static final int LAYER = 2; @@ -69,9 +71,17 @@ public class Spider extends Actor { @Override public void animationUpdate() { if (isMoving()) { - getAnimationManager().toState(WALK); + if (getFace() == RIGHT) { + getAnimationManager().toState(WALK_RIGHT); + } else { + getAnimationManager().toState(WALK); + } } else { - getAnimationManager().toState(IDLE); + if (getFace() == RIGHT) { + getAnimationManager().toState(IDLE_RIGHT); + } else { + getAnimationManager().toState(IDLE); + } } } @@ -101,9 +111,28 @@ public class Spider extends Actor { walk.addFrame(frame12); walk.addFrame(frame13); + Animation idleR = new Animation(); + Image frame20 = new Image("res/ActorExtensionPack/Actor/Spider/spider_idle_right_0.png"); + Image frame21 = new Image("res/ActorExtensionPack/Actor/Spider/spider_idle_right_1.png"); + idleR.addFrame(frame20); + idleR.addFrame(frame21); + + Animation walkR = new Animation(); + Image frame30 = new Image("res/ActorExtensionPack/Actor/Spider/spider_move_right_0.png"); + Image frame31 = new Image("res/ActorExtensionPack/Actor/Spider/spider_move_right_1.png"); + Image frame32 = new Image("res/ActorExtensionPack/Actor/Spider/spider_move_right_2.png"); + Image frame33 = new Image("res/ActorExtensionPack/Actor/Spider/spider_move_right_3.png"); + walkR.addFrame(frame30); + walkR.addFrame(frame31); + walkR.addFrame(frame32); + walkR.addFrame(frame33); + animationStateManager.add(idle); animationStateManager.add(walk); + animationStateManager.add(idleR); + animationStateManager.add(walkR); + return animationStateManager; }