Hello! im new in here and i been working with simple process so far.
I need help with movement of my Actor.
I have one class called Bucket and i want to make it like a "wall" i mean i dont want my character to step on the bucket.
Sorry for my english and thanks for reading this.
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.List; import java.util.ArrayList; /** * Write a description of class player here. * * @author (your name) * @version (a version number or a date) */ public class Player extends Actor { private GreenfootImage playerNorth; private GreenfootImage playerSouth; private GreenfootImage playerWest; private GreenfootImage playerWest1; private GreenfootImage playerEast; private boolean step; private boolean down; private static final int EAST = 0; private static final int WEST = 1; private static final int NORTH = 2; private static final int SOUTH = 3; private int direction; /** * Act - do whatever the player wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { processKeys(); } /** * Handle keyboard input. */ private void processKeys() { int dx = 0, dy = 0; if (Greenfoot.isKeyDown("up")) moveNorth(); if (Greenfoot.isKeyDown("down")) moveSouth(); if (Greenfoot.isKeyDown("left")) moveWest(); if (Greenfoot.isKeyDown("right")) moveEast(); if (getOneIntersectingObject(Bucket.class) != null){ switch(direction) { case SOUTH : setLocation(getX(), getY()-5); case EAST : setLocation(getX()-5, getY()); case NORTH : setLocation(getX(), getY()+5); case WEST : setLocation(getX()+5, getY()); } } } private void moveWest() { if ( step == true) { setImage("playerWest1.png"); step = false; } else if( step == false) { setImage("playerWest2.png"); step = true; } else{ setImage("playerWest.png"); } setLocation(getX()-5, getY()); } private void moveEast() { if ( step == true) { setImage("playerEast1.png"); step = false; } else if( step == false) { setImage("playerEast2.png"); step = true; } else{ setImage("playerEast.png"); } setLocation(getX()+5, getY()); } private void moveSouth(){ if(Greenfoot.isKeyDown("down")) { if ( step == true) { setImage("playerSouth1.png"); step = false; } else if( step == false) { setImage("playerSouth2.png"); step = true; } else{ setImage("playerSouth.png"); } setLocation(getX(), getY()+5); } } private void moveNorth(){ if(Greenfoot.isKeyDown("up")){ if ( step == true) { setImage("playerNorth1.png"); step = false; } else if( step == false) { setImage("playerNorth2.png"); step = true; } else{ setImage("playerNortht.png"); } setLocation(getX(), getY()-5); } } }