diff --git a/sprites/erina_jump_fall.gif b/sprites/erina_jump_fall.gif index 6635f68..eefe61f 100644 Binary files a/sprites/erina_jump_fall.gif and b/sprites/erina_jump_fall.gif differ diff --git a/sprites/erina_jump_fall1.gif b/sprites/erina_jump_fall1.gif new file mode 100644 index 0000000..2212e9b Binary files /dev/null and b/sprites/erina_jump_fall1.gif differ diff --git a/sprites/erina_jump_rise.gif b/sprites/erina_jump_rise.gif index fc9fad1..da9ddcf 100644 Binary files a/sprites/erina_jump_rise.gif and b/sprites/erina_jump_rise.gif differ diff --git a/sprites/erina_jump_rise1.gif b/sprites/erina_jump_rise1.gif new file mode 100644 index 0000000..fd8ea90 Binary files /dev/null and b/sprites/erina_jump_rise1.gif differ diff --git a/sprites/erina_walk.gif b/sprites/erina_walk.gif index 9b2c032..cd12226 100644 Binary files a/sprites/erina_walk.gif and b/sprites/erina_walk.gif differ diff --git a/src/sig/engine/Sprite.java b/src/sig/engine/Sprite.java index b99a13a..1152ded 100644 --- a/src/sig/engine/Sprite.java +++ b/src/sig/engine/Sprite.java @@ -19,6 +19,11 @@ public class Sprite{ public static Sprite BACKGROUND3 = new Sprite(new File(new File("..","backgrounds"),"back3.gif")); public static AnimatedSprite ERINOAH = new AnimatedSprite(new File(new File("..","sprites"),"erinoah.gif"),48,48); public static AnimatedSprite ERINA = new AnimatedSprite(new File(new File("..","sprites"),"erina.gif"),32,32); + public static AnimatedSprite ERINA_WALK = new AnimatedSprite(new File(new File("..","sprites"),"erina_walk.gif"),32,32); + public static AnimatedSprite ERINA_JUMP_RISE1 = new AnimatedSprite(new File(new File("..","sprites"),"erina_jump_rise1.gif"),32,32); + public static AnimatedSprite ERINA_JUMP_RISE = new AnimatedSprite(new File(new File("..","sprites"),"erina_jump_rise.gif"),32,32); + public static AnimatedSprite ERINA_JUMP_FALL1 = new AnimatedSprite(new File(new File("..","sprites"),"erina_jump_fall1.gif"),32,32); + public static AnimatedSprite ERINA_JUMP_FALL = new AnimatedSprite(new File(new File("..","sprites"),"erina_jump_fall.gif"),32,32); diff --git a/src/sig/objects/Player.java b/src/sig/objects/Player.java index d857002..f1220ea 100644 --- a/src/sig/objects/Player.java +++ b/src/sig/objects/Player.java @@ -62,15 +62,35 @@ public class Player extends AnimatedObject{ super.update(updateMult); handleMovementPhysics(updateMult); handleCameraRoomMovement(); + int right = (KeyHeld(KeyEvent.VK_RIGHT))||(KeyHeld(KeyEvent.VK_D))?1:0; + int left = (KeyHeld(KeyEvent.VK_LEFT))||(KeyHeld(KeyEvent.VK_A))?1:0; switch(state){ case ATTACK: break; case FALLING: + setAnimatedSpr(Sprite.ERINA_JUMP_FALL); break; case IDLE: + if(KeyHeld(KeyEvent.VK_A)||KeyHeld(KeyEvent.VK_LEFT)){ + setAnimatedSpr(Sprite.ERINA_WALK); + } + if(KeyHeld(KeyEvent.VK_D)||KeyHeld(KeyEvent.VK_RIGHT)){ + setAnimatedSpr(Sprite.ERINA_WALK); + } + + if(right-left==0){ + setAnimatedSpr(Sprite.ERINA); + } + if(x_velocity!=0){ + setAnimatedSpr(Sprite.ERINA_WALK); + } + else{ + setAnimatedSpr(Sprite.ERINA); + } break; case JUMP: + setAnimatedSpr(Sprite.ERINA_JUMP_RISE); break; case SLIDE: break; @@ -82,18 +102,25 @@ public class Player extends AnimatedObject{ break; } - if (KeyHeld(KeyEvent.VK_SPACE)&&System.currentTimeMillis()-spacebarPressed0 && spacebarReleased && key == KeyEvent.VK_SPACE){ + if (jumpCount>0 && spacebarReleased && (key == KeyEvent.VK_SPACE || key == KeyEvent.VK_W)){ jumpCount=0; y_velocity = jump_velocity; spacebarReleased=false; @@ -123,7 +150,7 @@ public class Player extends AnimatedObject{ break; } if (groundCollision) { - if (spacebarReleased&&key==KeyEvent.VK_SPACE&&jumpCount>0) { + if (spacebarReleased&&(key==KeyEvent.VK_SPACE||key==KeyEvent.VK_W)&&jumpCount>0) { state = State.JUMP; jumpCount--; y_velocity = jump_velocity; @@ -229,8 +256,8 @@ public class Player extends AnimatedObject{ private void handleMovementPhysics(double updateMult) { - int right = KeyHeld(KeyEvent.VK_RIGHT)?1:0; - int left = KeyHeld(KeyEvent.VK_LEFT)?1:0; + int right = (KeyHeld(KeyEvent.VK_RIGHT))||(KeyHeld(KeyEvent.VK_D))?1:0; + int left = (KeyHeld(KeyEvent.VK_LEFT))||(KeyHeld(KeyEvent.VK_A))?1:0; x_velocity = Math.abs(x_velocity+x_acceleration*updateMult)>x_velocity_limit