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