@@ -34,6 +34,10 @@ public class DisplayPane extends GraphicsPane implements ActionListener{
34
34
35
35
private MainApplication program ;
36
36
37
+ //player animation members
38
+ private int frame = 0 ;
39
+ private String [] wizardBobbing = {"PlayerWizardStandingLeft.png" , "PlayerWizardMoveLeft1.png" , "PlayerWizardMoveLeft2.png" , "PlayerWizardMoveLeft1.png" , "PlayerWizardStandingLeft.png" , "PlayerWizardMoveLeftVar1.png" , "PlayerWizardMoveLeftVar2.png" , "PlayerWizardMoveLeftVar1.png" };
40
+
37
41
private ArrayList <GImage > backgroundTiles ;
38
42
private ArrayList <GImage > playerHealth ;
39
43
private ArrayList <GImage > playerInventory ;
@@ -64,7 +68,7 @@ public DisplayPane(MainApplication app) {
64
68
65
69
timer = new Timer (0 , this ); // create timer object
66
70
67
- initializeGame ();
71
+ initializeGame ();
68
72
}
69
73
70
74
private void initializeGame () {
@@ -91,11 +95,11 @@ private void initializeGame() {
91
95
itemLabel .put ("chest" , "Press e to open chest." );
92
96
itemLabel .put ("upgrade" , "Press e to upgrade your weapon." );
93
97
itemLabel .put ("life" , "Press e to gain an extra life." );
94
-
98
+
95
99
//create player object with knight sprite as default.
96
100
GImage playerSprite = new GImage (ImageFolder .get () + "PlayerKnightSprite.png" );
97
101
player = new Player (playerSprite , PLAYER_STARTING_HEALTH );
98
- player .randomizeXLocation (program .getWidth (), program .getHeight ()); //Randomize player location at bottom of screen
102
+ player .randomizeXLocation (program .getWidth (), program .getHeight ()); //Randomize player location at bottom of screen
99
103
player .setSpeed (PLAYER_STARTING_SPEED ); // initialize speed
100
104
attackArea = new GImage ("" ); // initialize attack area
101
105
@@ -147,7 +151,8 @@ public void createRoom(int roomNum) {
147
151
weapon = new Weapon (new GImage ("" ), "long range weapon" , PLAYER_STARTING_LONG_RANGE );
148
152
player .setWeapon (weapon );
149
153
}
150
- player .setSprite (new GImage (ImageFolder .get () + "PlayerWizardSprite.png" ));
154
+ GImage wizardSprite = new GImage (ImageFolder .get () + "PlayerWizardStandingLeft.png" );
155
+ player .setSprite (wizardSprite );
151
156
program .add (player .getBulletSprite ()); // add bullet to the screen
152
157
}
153
158
@@ -777,6 +782,7 @@ private double angle(GImage playerSprite) { // return angle between player and m
777
782
@ Override
778
783
public void keyPressed (KeyEvent e ) {
779
784
GImage playerSprite = player .getSprite ();
785
+ GImage wizardBobSprite = new GImage ("" , playerSprite .getX (), playerSprite .getY ());
780
786
int keyCode = e .getKeyCode ();
781
787
if (keyCode == 87 ) { // w
782
788
player .setMoveY (-1 );
@@ -875,9 +881,9 @@ else if (keyCode == 82) { // r
875
881
System .out .println ("Heart consumed" );
876
882
player .changeHealth (1 ); //add one health to player.
877
883
}
878
- }
884
+ }
879
885
updateHealth (); //update health changes
880
- updateInventory (); //update inventory changes
886
+ updateInventory (); //update inventory changes
881
887
}
882
888
883
889
// for normalizing diagonal movement
@@ -898,8 +904,20 @@ else if (keyCode == 82) { // r
898
904
player .setSprite (newPlayerSprite );
899
905
}
900
906
else {
901
- newPlayerSprite .setImage (ImageFolder .get () + "PlayerWizardSprite.png" );
907
+ // If the player is not moving left, set to left stationary image.
908
+ if (!(keyCode == 65 )) { // If !(a) key pressed
909
+ newPlayerSprite .setImage (ImageFolder .get () + "PlayerWizardStandingLeft.png" );
910
+ player .setSprite (newPlayerSprite );
911
+ }
912
+
913
+ // If player is moving left (If a key pressed), animate sprite.
914
+ newPlayerSprite .setImage (ImageFolder .get () + wizardBobbing [frame ]);
915
+ frame ++;
902
916
player .setSprite (newPlayerSprite );
917
+ if (frame >=wizardBobbing .length ){
918
+ frame = 0 ;
919
+ }
920
+ player .setSprite (newPlayerSprite );
903
921
}
904
922
}
905
923
else { // player moving right
@@ -908,7 +926,7 @@ else if (keyCode == 82) { // r
908
926
player .setSprite (newPlayerSprite );
909
927
}
910
928
else {
911
- newPlayerSprite .setImage (ImageFolder .get () + "PlayerWizardMirroredSprite .png" );
929
+ newPlayerSprite .setImage (ImageFolder .get () + "PlayerWizardMirroredSprite2 .png" );
912
930
player .setSprite (newPlayerSprite );
913
931
}
914
932
}
@@ -954,4 +972,4 @@ public static void main(String[] args) {
954
972
955
973
}
956
974
957
- }
975
+ }
0 commit comments