|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgreenfoot.World
public abstract class World
World is the world that Actors live in. It is a two-dimensional grid of cells.
All Actor are associated with a World and can get access to the world object. The size of cells can be specified at world creation time, and is constant after creation. Simple scenarios may use large cells that entirely contain the representations of objects in a single cell. More elaborate scenarios may use smaller cells (down to single pixel size) to achieve fine-grained placement and smoother animation.
The world background can be decorated with drawings or images.
Actor
Constructor Summary | |
---|---|
World(int worldWidth,
int worldHeight,
int cellSize)
Construct a new world. |
|
World(int worldWidth,
int worldHeight,
int cellSize,
boolean bounded)
Construct a new world. |
Method Summary | |
---|---|
void |
act()
Act method for world. |
void |
addObject(Actor object,
int x,
int y)
Add an Actor to the world. |
GreenfootImage |
getBackground()
Return the world's background image. |
int |
getCellSize()
Return the size of a cell (in pixels). |
java.awt.Color |
getColorAt(int x,
int y)
Return the color at the centre of the cell. |
int |
getHeight()
Return the height of the world (in number of cells). |
java.util.List |
getObjects(java.lang.Class cls)
Get all the objects in the world, or all the objects of a particular class. |
java.util.List |
getObjectsAt(int x,
int y,
java.lang.Class cls)
Return all objects at a given cell. |
int |
getWidth()
Return the width of the world (in number of cells). |
int |
numberOfObjects()
Get the number of actors currently in the world. |
void |
removeObject(Actor object)
Remove an object from the world. |
void |
removeObjects(java.util.Collection objects)
Remove a list of objects from the world. |
void |
repaint()
Repaints the world. |
void |
setActOrder(java.lang.Class... classes)
Set the act order of objects in the world. |
void |
setBackground(GreenfootImage image)
Set a background image for the world. |
void |
setBackground(java.lang.String filename)
Set a background image for the world from an image file. |
void |
setPaintOrder(java.lang.Class... classes)
Set the paint order of objects in the world. |
void |
started()
This method is called by the Greenfoot system when the execution has started. |
void |
stopped()
This method is called by the Greenfoot system when the execution has stopped. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public World(int worldWidth, int worldHeight, int cellSize)
worldWidth
- The width of the world (in cells).worldHeight
- The height of the world (in cells).cellSize
- Size of a cell in pixels.public World(int worldWidth, int worldHeight, int cellSize, boolean bounded)
worldWidth
- The width of the world (in cells).worldHeight
- The height of the world (in cells).cellSize
- Size of a cell in pixels.bounded
- Should actors be restricted to the world boundary?Method Detail |
---|
public final void setBackground(GreenfootImage image)
image
- The image to be shownsetBackground(String)
public final void setBackground(java.lang.String filename) throws java.lang.IllegalArgumentException
filename
- The file holding the image to be shown
java.lang.IllegalArgumentException
- If the image can not be loaded.setBackground(GreenfootImage)
public GreenfootImage getBackground()
public java.awt.Color getColorAt(int x, int y)
x
- The x coordinate of the cell.y
- The y coordinate of the cell.
java.lang.IndexOutOfBoundsException
- If the location is not within the world
bounds. If there is no background image at the location it
will return Color.WHITE.getBackground()
public int getWidth()
public int getHeight()
public int getCellSize()
public void setPaintOrder(java.lang.Class... classes)
Objects of a class not explicitly specified effectively inherit the paint order from their superclass.
Objects of classes not listed will appear below the objects whose classes have been specified.
classes
- The classes in desired paint orderpublic void setActOrder(java.lang.Class... classes)
Objects of classes listed first in the parameter list will act before any objects of classes listed later.
Objects of a class not explicitly specified inherit the act order from their superclass.
Objects of classes not listed will act after all objects whose classes have been specified.
classes
- The classes in desired act orderpublic void addObject(Actor object, int x, int y)
object
- The new object to add.x
- The x coordinate of the location where the object is added.y
- The y coordinate of the location where the object is added.public void removeObject(Actor object)
object
- the object to removepublic void removeObjects(java.util.Collection objects)
objects
- A list of Actors to remove.public java.util.List getObjects(java.lang.Class cls)
If a class is specified as a parameter, only objects of that class (or its subclasses) will be returned.
cls
- Class of objects to look for ('null' will find all objects).
public int numberOfObjects()
public void repaint()
public void act()
This method does nothing. It should be overridden in subclasses to implement an world's action.
public void started()
This default implementation is empty.
public void stopped()
This default implementation is empty.
public java.util.List getObjectsAt(int x, int y, java.lang.Class cls)
An object is defined to be at that cell if its graphical representation overlaps the center of the cell.
x
- X-coordinate of the cell to be checked.y
- Y-coordinate of the cell to be checked.cls
- Class of objects to look return ('null' will return all
objects).
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |