i have a wall with a code that just declare if actor is to your right move him rightand so on for the 4 directions but if you keep turnin the actor it kind f glitches through and sorry for the english don't kill me grammar police
public class Wall extends Actor { Actor enemy1; Actor soldierleft; Actor soldierright; Actor soldierup; Actor soldierdown; public void act() { pushsoldier(); } public void pushsoldier() { soldierright = getOneObjectAtOffset(+2,0,Soldier.class); if(soldierright != null)soldierright.setLocation(soldierright.getX()+5,soldierright.getY()); soldierleft = getOneObjectAtOffset(-2,0,Soldier.class); if(soldierleft != null)soldierleft.setLocation(soldierleft.getX()-5,soldierleft.getY()); soldierup = getOneObjectAtOffset(0,-2,Soldier.class); if(soldierup != null)soldierup.setLocation(soldierup.getX(),soldierup.getY()-5); soldierdown = getOneObjectAtOffset(0,+2,Soldier.class); if(soldierdown != null)soldierdown.setLocation(soldierdown.getX(),soldierdown.getY()+5); soldierright = getOneObjectAtOffset(+5,0,Soldier.class); if(soldierright != null)soldierright.setLocation(soldierright.getX()+5,soldierright.getY()); soldierleft = getOneObjectAtOffset(-5,0,Soldier.class); if(soldierleft != null)soldierleft.setLocation(soldierleft.getX()-5,soldierleft.getY()); soldierup = getOneObjectAtOffset(0,-5,Soldier.class); if(soldierup != null)soldierup.setLocation(soldierup.getX(),soldierup.getY()-5); soldierdown = getOneObjectAtOffset(0,+5,Soldier.class); if(soldierdown != null)soldierdown.setLocation(soldierdown.getX(),soldierdown.getY()+5); } }
Actor obstacle = getOneIntersectingObject(Obstacle.class); if (obstacle != null){ setLocation(getX() -(dx*xSpeed), getY()); }
Actor obstacle = getOneIntersectingObject(Obstacle.class); if (obstacle != null){ setLocation(getX() -(dx*xSpeed), getY()); }