Hello everyone. I try to make a sidescrooling game with a main actor called Puppy. I want to add to my characther some animation, running left, right, jump right and left, and idle left and right with more frames for each animation. Now, I finished making the animation for left and right runing when key are pressed, but I don't know how to make it jump when up arrow key is pressed and being idle if there isn't any key pressed. For example if Puppy runs to the left and then he stops I want the idle animation start until he runs again, same for the right side and jumping. And I want to say that after I added eaxh image for left and right idle animation, my actor isn't spawning in the world, but only with runing and jumping, is there a limit for adding images? Please help guys. Here is my code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 | import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Puppy_Player here. * * @author (your name) * @version (a version number or a date) */ public class Puppy_Player extends Actor { private int vSpeed = 0 ; private int acceleration = 2 ; public boolean jumping; private int jumpStranght = 20 ; private int speed = 4 ; /*** Running Left Images*/ private GreenfootImage runright1 = new GreenfootImage( "Puupy_RR1.png" ); private GreenfootImage runright2 = new GreenfootImage( "Puupy_RR2.png" ); private GreenfootImage runright3 = new GreenfootImage( "Puupy_RR3.png" ); private GreenfootImage runright4 = new GreenfootImage( "Puupy_RR4.png" ); private GreenfootImage runright5 = new GreenfootImage( "Puupy_RR5.png" ); private GreenfootImage runright6 = new GreenfootImage( "Puupy_RR6.png" ); private GreenfootImage runright7 = new GreenfootImage( "Puupy_RR7.png" ); private GreenfootImage runright8 = new GreenfootImage( "Puupy_RR8.png" ); private GreenfootImage runright9 = new GreenfootImage( "Puupy_RR9.png" ); private GreenfootImage runright10 = new GreenfootImage( "Puupy_RR10.png" ); private GreenfootImage runright11 = new GreenfootImage( "Puupy_RR11.png" ); private GreenfootImage runright12 = new GreenfootImage( "Puupy_RR12.png" ); private GreenfootImage runright13 = new GreenfootImage( "Puupy_RR13.png" ); private GreenfootImage runright14 = new GreenfootImage( "Puupy_RR14.png" ); private GreenfootImage runright15 = new GreenfootImage( "Puupy_RR15.png" ); private GreenfootImage runright16 = new GreenfootImage( "Puupy_RR16.png" ); private GreenfootImage runright17 = new GreenfootImage( "Puupy_RR17.png" ); private GreenfootImage runright18 = new GreenfootImage( "Puupy_RR18.png" ); /*** Running Right Images*/ private GreenfootImage runleft1 = new GreenfootImage( "Puupy_RL1.png" ); private GreenfootImage runleft2 = new GreenfootImage( "Puupy_RL2.png" ); private GreenfootImage runleft3 = new GreenfootImage( "Puupy_RL3.png" ); private GreenfootImage runleft4 = new GreenfootImage( "Puupy_RL4.png" ); private GreenfootImage runleft5 = new GreenfootImage( "Puupy_RL5.png" ); private GreenfootImage runleft6 = new GreenfootImage( "Puupy_RL6.png" ); private GreenfootImage runleft7 = new GreenfootImage( "Puupy_RL7.png" ); private GreenfootImage runleft8 = new GreenfootImage( "Puupy_RL8.png" ); private GreenfootImage runleft9 = new GreenfootImage( "Puupy_RL9.png" ); private GreenfootImage runleft10 = new GreenfootImage( "Puupy_RL10.png" ); private GreenfootImage runleft11 = new GreenfootImage( "Puupy_RL11.png" ); private GreenfootImage runleft12 = new GreenfootImage( "Puupy_RL12.png" ); private GreenfootImage runleft13 = new GreenfootImage( "Puupy_RL13.png" ); private GreenfootImage runleft14 = new GreenfootImage( "Puupy_RL14.png" ); private GreenfootImage runleft15 = new GreenfootImage( "Puupy_RL15.png" ); private GreenfootImage runleft16 = new GreenfootImage( "Puupy_RL16.png" ); private GreenfootImage runleft17 = new GreenfootImage( "Puupy_RL17.png" ); private GreenfootImage runleft18 = new GreenfootImage( "Puupy_RL18.png" ); /*** IJump Right Images*/ private GreenfootImage jumpright1 = new GreenfootImage( "Puppy_JumpRight1.png" ); private GreenfootImage jumpright2 = new GreenfootImage( "Puppy_JumpRight2.png" ); /*** Jump Left Images*/ private GreenfootImage jumpleft1 = new GreenfootImage( "Puppy_JumpLeft1.png" ); private GreenfootImage jumpleft2 = new GreenfootImage( "Puppy_JumpLeft2.png" ); /*** Idle Right*/ private GreenfootImage inactiveright1 = new GreenfootImage( "Puupy_Inactive_Right1.png" ); private GreenfootImage inactiveright2 = new GreenfootImage( "Puupy_Inactive_Right2.png" ); private GreenfootImage inactiveright3 = new GreenfootImage( "Puupy_Inactive_Righ3.png" ); private GreenfootImage inactiveright4 = new GreenfootImage( "Puupy_Inactive_Right4.png" ); private GreenfootImage inactiveright5 = new GreenfootImage( "Puupy_Inactive_Right5.png" ); private GreenfootImage inactiveright6 = new GreenfootImage( "Puupy_Inactive_Right6.png" ); private GreenfootImage inactiveright7 = new GreenfootImage( "Puupy_Inactive_Right7.png" ); private GreenfootImage inactiveright8 = new GreenfootImage( "Puupy_Inactive_Right8.png" ); private GreenfootImage inactiveright9 = new GreenfootImage( "Puupy_Inactive_Right9.png" ); private GreenfootImage inactiveright10 = new GreenfootImage( "Puupy_Inactive_Right10.png" ); private GreenfootImage inactiveright11 = new GreenfootImage( "Puupy_Inactive_Right11.png" ); /*** Idle Right*/ private GreenfootImage inactiveleft1 = new GreenfootImage( "Puupy_Inactive_Left1.png" ); private GreenfootImage inactiveleft2 = new GreenfootImage( "Puupy_Inactive_Left2.png" ); private GreenfootImage inactiveleft3 = new GreenfootImage( "Puupy_Inactive_Left3.png" ); private GreenfootImage inactiveleft4 = new GreenfootImage( "Puupy_Inactive_Left4.png" ); private GreenfootImage inactiveleft5 = new GreenfootImage( "Puupy_Inactive_Left5.png" ); private GreenfootImage inactiveleft6 = new GreenfootImage( "Puupy_Inactive_Left6.png" ); private GreenfootImage inactiveleft7 = new GreenfootImage( "Puupy_Inactive_Left7.png" ); private GreenfootImage inactiveleft8 = new GreenfootImage( "Puupy_Inactive_Left8.png" ); private GreenfootImage inactiveleft9 = new GreenfootImage( "Puupy_Inactive_Left9.png" ); private GreenfootImage inactiveleft10 = new GreenfootImage( "Puupy_Inactive_Left10.png" ); private GreenfootImage inactiveleft11 = new GreenfootImage( "Puupy_Inactive_Left10.png" ); private int frame = 1 ; /** * Act - do whatever the Doors_Level_Select wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { checkKey(); } public void moveRight() { setLocation(getX()+speed, getY()); AnimateRight(); } public void moveLeft() { setLocation(getX()-speed, getY()); AnimateLeft(); } public void checkKey() { if (Greenfoot.isKeyDown( "right" )) { moveRight(); } if (Greenfoot.isKeyDown( "left" )) { moveLeft(); } } public void AnimateRight() { if (frame == 1 ) { setImage(runright1); } else if (frame == 2 ) { setImage(runright2); } else if (frame == 3 ) { setImage(runright3); } else if (frame == 4 ) { setImage(runright4); } else if (frame == 5 ) { setImage(runright5); } else if (frame == 6 ) { setImage(runright6); } else if (frame == 7 ) { setImage(runright7); } else if (frame == 8 ) { setImage(runright8); } else if (frame == 9 ) { setImage(runright9); } else if (frame == 2 ) { setImage(runright2); } else if (frame == 10 ) { setImage(runright10); } else if (frame == 11 ) { setImage(runright11); } else if (frame == 12 ) { setImage(runright12); } else if (frame == 13 ) { setImage(runright13); } else if (frame == 14 ) { setImage(runright14); } else if (frame == 15 ) { setImage(runright15); } else if (frame == 16 ) { setImage(runright16); } else if (frame == 17 ) { setImage(runright17); } else if (frame == 18 ) { setImage(runright18); frame = 1 ; return ; } frame ++; } public void AnimateLeft() { if (frame == 1 ) { setImage(runleft1); } else if (frame == 2 ) { setImage(runleft2); } else if (frame == 3 ) { setImage(runleft3); } else if (frame == 4 ) { setImage(runleft4); } else if (frame == 5 ) { setImage(runleft5); } else if (frame == 6 ) { setImage(runleft6); } else if (frame == 7 ) { setImage(runleft7); } else if (frame == 8 ) { setImage(runleft8); } else if (frame == 9 ) { setImage(runleft9); } else if (frame == 10 ) { setImage(runleft10); } else if (frame == 11 ) { setImage(runleft11); } else if (frame == 12 ) { setImage(runleft12); } else if (frame == 13 ) { setImage(runleft13); } else if (frame == 14 ) { setImage(runleft14); } else if (frame == 15 ) { setImage(runleft15); } else if (frame == 16 ) { setImage(runleft16); } else if (frame == 17 ) { setImage(runleft17); } else if (frame == 18 ) { setImage(runleft18); frame = 1 ; return ; } frame ++; } } |