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