I want my actor to hold a gun and so i wrote this code.
And now i have 2 problems. The first one is that i always get this error once i change my direction of movement (from left to right, or from right to up and etc.)
The other problem is when i fall, the gun isnt following.
public void stickingToThePlayer(){
Actor player = getOneObjectAtOffset(0, 0, Players.class);
Actor player2 = getOneObjectAtOffset(-40, +10, Players.class);
Actor player3 = getOneObjectAtOffset(40, +10, Players.class);
Actor player4 = getOneObjectAtOffset(0, -40, Player.class);
if(Greenfoot.isKeyDown("right")&&!Greenfoot.isKeyDown("left")&&!Greenfoot.isKeyDown("up")){
if(player != null){
setLocation(player.getX()+40, player.getY()+10);
}
if(player3 != null){
setLocation(player.getX()+40, player.getY()+10);
}
}
if(Greenfoot.isKeyDown("left")&&!Greenfoot.isKeyDown("right")&&!Greenfoot.isKeyDown("up")){
if(player != null){
setLocation(player.getX()-40, player.getY()+10);
}
if(player2 != null){
setLocation(player.getX()-40, player.getY()+10);
}
}
if(Greenfoot.isKeyDown("up")){
if(player != null){
setLocation(player.getX()+40, player.getY()+10);
}
if(player2 != null){
setLocation(player.getX()+40, player.getY()+10);
}
if(player4 != null){
setLocation(player.getX()+40, player.getY()+10);
}
}
}java.lang.NullPointerException at rayGun.stickingToThePlayer(rayGun.java:52) at rayGun.act(rayGun.java:17) at greenfoot.core.Simulation.actActor(Simulation.java:594) at greenfoot.core.Simulation.runOneLoop(Simulation.java:552) at greenfoot.core.Simulation.runContent(Simulation.java:215) at greenfoot.core.Simulation.run(Simulation.java:205)
