whenever I move right it will display the right sprites, but i don't know how to make it display the left sprites when it moves left.
Code:
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Character here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Person extends Actor
{
private GreenfootImage image2;
private GreenfootImage image3;
private GreenfootImage image4;
private GreenfootImage image5;
private GreenfootImage image6;
private GreenfootImage image7;
private GreenfootImage image8;
private GreenfootImage image9;
private GreenfootImage image10;
private GreenfootImage image11;
private GreenfootImage image2L;
private GreenfootImage image3L;
private GreenfootImage image4L;
private GreenfootImage image5L;
private GreenfootImage image6L;
private GreenfootImage image7L;
private GreenfootImage image8L;
private GreenfootImage image9L;
private GreenfootImage image10L;
private GreenfootImage image11L;
private int vSpeed = 0;
private int acceleration = 2;
public Person()
{
image2 = new GreenfootImage ("Character2.png");
image3 = new GreenfootImage ("Character3.png");
image4 = new GreenfootImage ("Character4.png");
image5 = new GreenfootImage ("Character5.png");
image6 = new GreenfootImage ("Character6.png");
image7 = new GreenfootImage ("Character7.png");
image8 = new GreenfootImage ("Character8.png");
image9 = new GreenfootImage ("Character9.png");
image10 = new GreenfootImage("Character10.png");
image11 = new GreenfootImage("Character11.png");
image2L = new GreenfootImage("Character2Left.png");
image3L = new GreenfootImage("Character3Left.png");
image4L = new GreenfootImage("Character4Left.png");
image5L = new GreenfootImage("Character5Left.png");
image6L = new GreenfootImage("Character6Left.png");
image7L = new GreenfootImage("Character7Left.png");
image8L = new GreenfootImage("Character8Left.png");
image9L = new GreenfootImage("Character9Left.png");
image10L = new GreenfootImage("Character10Left.png");
image11L = new GreenfootImage("Character11Left.png");
setImage(image2);
}
/**
* Act - do whatever the Character wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
if (Greenfoot.isKeyDown("left"))
{
move(-4);
movementLeft();
}
if (Greenfoot.isKeyDown("right"))
{
movementRight();
move(4);
}
checkFall();
}
public void fall()
{
setLocation(getX(), getY()+ vSpeed);
vSpeed = vSpeed + acceleration;
}
public boolean onGround()
{
int spriteHeight = getImage().getHeight();
int lookForGround = (int) (spriteHeight/4) + 5;
Actor ground = getOneObjectAtOffset(0, lookForGround, Ground.class);
if (ground == null)
{
return false;
}else{
return true;
}
}
public void checkFall()
{
if(onGround())
{
vSpeed=0;
}
else
{ fall();
}
}
public void movementRight()
{
if (getImage().equals(image2))
{
setImage (image3);
}else if(getImage().equals(image3))
{
setImage (image4);
}else if (getImage().equals(image4))
{
setImage (image5);
}else if (getImage().equals(image5))
{
setImage (image6);
}else if (getImage().equals(image6))
{
setImage (image7);
}else if(getImage().equals(image7))
{
setImage (image8);
}else if(getImage().equals(image8))
{
setImage (image9);
}else if(getImage().equals(image9))
{
setImage (image10);
}else if(getImage().equals(image10))
{
setImage (image11);
}else if(getImage().equals(image11))
{
setImage (image3);
}
}
public void movementLeft()
{
if (getImage().equals(image2L))
{
setImage (image3L);
}else if(getImage().equals(image3L))
{
setImage (image4L);
}else if (getImage().equals(image4L))
{
setImage (image5L);
}else if (getImage().equals(image5L))
{
setImage (image6L);
}else if (getImage().equals(image6L))
{
setImage (image7L);
}else if(getImage().equals(image7L))
{
setImage (image8L);
}else if(getImage().equals(image8L))
{
setImage (image9L);
}else if(getImage().equals(image9L))
{
setImage (image10L);
}else if(getImage().equals(image10L))
{
setImage (image11L);
}else if(getImage().equals(image11L))
{
setImage (image3L);
}
}
}

