Error: Actor not in world. An attempt was made to use the actor's location while it is not in the world. Either it has not yet been inserted, or it has been removed. is received in the line - getWorld().(new Object2(), getX(),getY()); of class Object2(). Can you please help me out in creating objects of class Object2
import greenfoot.*;
import java.util.*;
public class Enemy extends Actor
{
private int targetx=0, targety=0,jeda=0;
public static int dir=0;
private int vx=1,lives=50,x,y;
public boolean toRemove=false;
//MainEnemy em=null
public void checkwalls()
{
if(isAtEdge()&&dir==0)
{
setLocation(getX(),getY()-50);
dir=1;
}
if(isAtEdge()&&dir==1)
{
setLocation(getX(),getY()+50);
dir=0;
}
}
public void destroy()
{
getWorld().addObject(new B(),getX(),getY());
remEnemy();
if(getLives()==0)
toRemove=true;
else
toRemove=false;
}
public void remEnemy()
{
lives--;
}
public int getLives()
{
return lives;
}
public void move()
{
if(dir==0)
{
setLocation(getX(),getY()+vx);
checkwalls();
}
if(dir==1)
{
setLocation(getX(),getY()-vx);
checkwalls();
}
Strategy s2 = new Object2();
Strategy s3 = new Object3();
s2.setSuccessor(s3);
s2.fly("ob2");
}
public void act()
{
if(!toRemove) move();
else
getWorld().removeObject(this);
}
}
public class Object2 extends Actor implements Strategy
{
private Strategy successor=null;
public void act()
{
// fly();
}
public void setSuccessor(Strategy s)
{
this.successor = s;
}
public void fly(String f)
{
if(f.equalsIgnoreCase("ob2"))
getWorld().(new Object2(), getX(),getY());
}
}
public interface Strategy
{
public void act();
public void fly(String f);
public void setSuccessor(Strategy s);
}
