Hello everyone,
i am trying to make a simple zombie survival game but I can't seem to make my character recognize objects correctly in the world. It stops in front of them but when try to make him move again everything goes wrong and I don't know what's wrong.
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class homme here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class homme extends Actor
{
GreenfootImage homme1 = new GreenfootImage("Surviver1.png");
GreenfootImage homme2 = new GreenfootImage("Surviver2.png");
public int frame = 1;
private int imageCounter;
/**
* Act - do whatever the homme wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
move();
}
public void move(){
int y = getY();
int x = getX();
if(Greenfoot.isKeyDown("up"))
{
y--;
imageCounter = (++imageCounter)%50;
if (imageCounter == 0) animate();
if (isTouching(brick.class))y = y+3;
}
if(Greenfoot.isKeyDown("down"))
{
y++;
imageCounter = (++imageCounter)%50;
if (imageCounter == 0) animate();
if (isTouching(brick.class))y = y-3;
}
if(Greenfoot.isKeyDown("left"))
{
x--;
imageCounter = (++imageCounter)%50;
if (imageCounter == 0) animate();
if (isTouching(brick.class))x = x+3;
}
if(Greenfoot.isKeyDown("right"))
{
x++;
imageCounter = (++imageCounter)%50;
if (imageCounter == 0) animate();
if (isTouching(brick.class))x = x-3;
}
setLocation(x,y);
}
public void animate()
{
if(frame == 1)
{
setImage(homme1);
frame = 2;
}
else if(frame == 2)
{
setImage(homme2);
frame=1;
}
}
}
