Everything works, even the "getX()", but for some reason the Sanic actor and the Pipe actor never have the same X (Btw, i'm making a flappy bird type game)
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
public class Sanic extends Actor
{
private Counter counter;
public Sanic(Counter pointCounter){
counter = pointCounter;
}
public void act()
{
gravity();
addScore();
}
public void gravity(){
if(Greenfoot.mouseClicked(null)){
for(int i = 0;i < 100;i++){
setLocation(getX(), getY()-1);
if(getRotation() < 270){
setRotation(getRotation() - 40);
}
}
}else{
setLocation(getX(), getY()+10);
if(getRotation() > 90 || getRotation() < 90){
setRotation(getRotation()+5);
}
}
}
public void addScore(){
Actor pipeTop = (Actor)getWorld().getObjects(Pipe_Top.class).get(0);
Actor pipeBottom = (Actor)getWorld().getObjects(Pipe_Bottom.class).get(0);
if(getX() < pipeTop.getX() && getX() > (pipeTop.getX()-4) && getOneObjectAtOffset(0, 0, Pipe_Top.class) == null && getOneObjectAtOffset(0, 0, Pipe_Bottom.class) == null){
counter.add(1);
}
}
}

