I tried a for loop in one of them, but the only image it outputs is the one inside the loop and not the one outside of it. I am just trying to make my character have a walking animation. Please help!
import greenfoot.*;
public class Avatar extends Actor
{
public int i;
public void act()
{
if(Greenfoot.isKeyDown("left")&&!(Greenfoot.isKeyDown("down"))&&!(Greenfoot.isKeyDown("up"))&&!(Greenfoot.isKeyDown("right"))){
move(-1);
setImage("centaur-left-left.gif");
}
if(Greenfoot.isKeyDown("right")&&!(Greenfoot.isKeyDown("left"))&&!(Greenfoot.isKeyDown("down"))&&!(Greenfoot.isKeyDown("up"))){
move(1);
setImage("Centaur-right-right.gif");
}
if(Greenfoot.isKeyDown("up")&&!(Greenfoot.isKeyDown("left"))&&!(Greenfoot.isKeyDown("down"))&&!(Greenfoot.isKeyDown("right"))){
setLocation(getX(), getY()-1);
setImage("Centaur-up-right.gif");
}
if(Greenfoot.isKeyDown("down")&&!(Greenfoot.isKeyDown("left"))&&!(Greenfoot.isKeyDown("up"))&&!(Greenfoot.isKeyDown("right"))){
setLocation(getX(), getY()+1);
setImage("centaur-waling-down-Right.gif");
for(int j=0;j==0;j++){
setImage("centaur-waling-down-left.gif");
break;
}
}
if(Greenfoot.isKeyDown("left")){
i=0;
}else if(Greenfoot.isKeyDown("right")){
i=1;
}else if(Greenfoot.isKeyDown("up")){
i=2;
}else if(Greenfoot.isKeyDown("down")){
i=3;
}else if(!(Greenfoot.isKeyDown("left"))&&!(Greenfoot.isKeyDown("down"))&&!(Greenfoot.isKeyDown("up"))&&!(Greenfoot.isKeyDown("right"))){
if(i==0){
setImage("Centaur-left.gif");
}else if(i==1){
setImage("Centaur-right.gif");
}else if(i==2){
setImage("Centaur-up.gif");
}else if(i==3){
setImage("centaur-waling-down.gif");
}
}
}}
