I would like to use getNeighbors() and remove the neighbors around my actor. I know getNeighbors returns a list, so how do I use the remove() method which only removes an actor?
neighbors = getNeighbors(1, true, Bee.class);
while (neighbors.size() > 1)
{
getWorld().removeObjects(neighbors);
}
getWorld().remove(getOneIntersectingObject(Bee.class));List neighbors = getNeighbors(1, true, Bee.class);
if (!neighbors.isEmpty())
{
getWorld().remove((Actor)neighbors.get(Greenfoot.getRandomNumber(neighbors.size())));
}List neighbors = getNeighbours(1, true, Bee.class);
if (!neighbors.isEmpty()) {
getWorld().removeObject((Actor) neighbors.get(Greenfoot.getRandomNumber(neighbors.size())));
}getWorld().removeObjects(getNeighbours(1, true, Bee.class));
public void explode()
{
getWorld().removeObjects(getNeighbors(1, true, Bee.class));
}
for (Object obj : getNeighbors(1, true, Bee.class)) getWorld().remove((Actor)obj);
/**
* Remove an object from the world.
*
* @param object the object to remove
*/
public void removeObject(Actor object)
{
if (object == null || object.world != this) {
return;
}
objectsDisordered.remove(object);
collisionChecker.removeObject(object);
if (objectsDisordered != objectsInActOrder && objectsInActOrder != null) {
objectsInActOrder.remove(object);
}
else if (objectsDisordered != objectsInPaintOrder && objectsInPaintOrder != null) {
objectsInPaintOrder.remove(object);
}
object.setWorld(null);
}
/**
* Remove a list of objects from the world.
*
* @param objects A list of Actors to remove.
*/
@SuppressWarnings("unchecked")
public void removeObjects(Collection<? extends Actor> objects)
{
for (Iterator<? extends Actor> iter = objects.iterator(); iter.hasNext();) {
Actor actor = iter.next();
removeObject(actor);
}
}for (Object obj : getNeighbors(1, true, Bee.class)) getWorld().remove((Actor)obj);