World

java.lang.Object <– greenfoot.World

public abstract class World extends java.lang.Object

World è il mondo nel quale gli Actor vivono.
Si tratta di una griglia bidimensionale di celle.
Gli attori sono associati a un mondo e possono accedere a esso.
La dimensione delle celle può essere specificata al momento della creazione del mondo e rimane costante dopo la creazione.
Scenari semplici possono usare celle molto grandi che contengono gli oggetti in un’unica cella.
Scenari più elaborati utilizzano celle più piccole, fino al singolo pixel, per ottenere posizionamenti più accurati e animazioni più morbide.
Lo sfondo del mondo si decora con disegni o immagini.

 



public World(int larghezzaMondo, int altezzaMondo, int dimCella)

Costruisce un nuovo mondo.
Devono essere specificate le dimensioni del mondo (come numero di celle) e la dimensione di ciascuna cella (in pixel).
Parametri: 

larghezzaMondo – La larghezza del mondo (in celle).
altezzaMondo – L’altezza del mondo (in celle).
dimCella – Dimensione di una cella (in pixel).

public void act()

Il metodo Azione del mondo.
Il metodo viene chiamato da greenfoot (…)
Il metodo act() del mondo viene chiamata prima del metodo act() di tutti gli oggetti nel mondo.
Questo metodo non fa nulla. Deve essere sovrascritto nelle sottoclassi per implementare un’azione del mondo.

 



public final void setBackground(GreenfootImage immagine)

Imposta un’immagine di sfondo per il mondo.
Parametro: immagine – L’immagine da visualizzare.

public final void setBackground(java.lang.String filename) throws java.lang.IllegalArgumentException

Imposta un’immagine di sfondo per il mondo utilizzando un file immagine.
Sono accettate immagini di tipo jpeggif e png.
Parametro: 

filename – Il file che contiene l’immagine da visualizzare.

Throws:

java.lang.IllegalArgumentException – Se l’immagine non può essere caricata.

Se l’immagine è più grande del mondo viene scalata. Se è più piccola viene replicata.
Per visualizzare facilmente la disposizione delle celle è sufficiente impostare un’immagine di sfondo con la dimensione uguale alla dimensione di una cella.

public GreenfootImage getBackground()

Restituisce l’immagine di sfondo del mondo.
L’immagine può essere utilizzata per disegnare nello sfondo del mondo.
Restituisce: 

l’immagine dello sfondo.

public java.awt.Color getColorAt(int x, int y)

Restituisce il colore del centro della cella.
Se in quel punto non c’è un’immagine di sfondo restituisce Color.WHITE.
Per colorare devi acquisire l’immagine di sfondo del mondo per disegnarci sopra.
Parametri: 

x – La coordinata x della cella.
y – La coordinata y della cella.

Throws:

java.lang.IndexOutOfBoundsException – Se la posizione non è dentro i confini del mondo.

public int getWidth()
public int getHeight()

Restituisce la larghezza/altezza del mondo (come numero di celle).

public int getCellSize()

Restituisce la dimensione di una cella (come numero di pixel).

 



public void setActOrder(java.lang.Class… classi)
public void setPaintOrder(java.lang.Class… classi)

Imposta l’ordine di attivazione / disegno degli oggetti nel mondo.
L’ordine si specifica per classe: gli oggetti di una classe saranno attivati / disegnati sempre prima degli oggetti di un’altra classe.
Non si può specificare l’ordine degli oggetti della stessa classe.
Gli oggetti delle classi elencate prima nella lista saranno attivati prima / disegnati dopo di qualsiasi oggetto delle classi elencate dopo.
Gli oggetti di una classe non specificata esplicitamente ereditano l’ordine della loro superclasse.
Gli oggetti delle classi non elencate saranno attivati dopo / disegnati prima tutti gli oggetti delle classi che sono state specificate.
Parametro: 

classi – Le classi nell’ordine desiderato.

public void repaint()

Ridisegna il mondo.

 



public void addObject(Actor oggetto, int x, int y)

Aggiunge un oggetto al mondo.
Parametri: 

oggetto – L’oggetto da aggiungere.
x – La coordinata x dove aggiungere l’oggetto.
y – La coordinata y dove aggiungere l’oggetto.

public void removeObject(Actor oggetto)

Rimuove un oggetto dal mondo.
Parametro: 

oggetto – L’oggetto da rimuovere.

public void removeObjects(java.util.Collection oggetto)

Rimuove una lista di oggetti dal mondo.
Parametro: 

oggetto – Una lista di Actor da rimuovere.

public java.util.List getObjects(java.lang.Class classe)

Ottiene tutti gli oggetti nel mondo, oppure tutti gli oggetti di una particolare classe.
Se una classe è specificata come parametro, saranno restituiti solo gli oggetti di questa classe (o delle sue sottoclassi).
Parametro: 

classe – La classe degli oggetti da cercare (con null cercherà tutti gli oggetti).

Restituisce:

una lista di oggetti.

public java.util.List getObjectsAt(int x, int y, java.lang.Class classe)

Restituisce tutti gli oggetti in una certa cella.
Un oggetto si trova in una cella se la sua rappresentazione grafica si sovrappone alla cella in qualche punto.
Parametri: 

x – La coordinata x della cella da controllare.
y – La coordinata y della cella da controllare.
classe – La classe degli oggetti da cercare e restituire (con null restituirà tutti gli oggetti).

Restituisce:

la lista degli oggetti presenti.

public int numberOfObjects()

Calcola il numero di attori attualmente nel mondo.
Restituisce: 

il numero di attori.

 



public void started()
public void stopped()

Il metodo viene richiamato da Greenfoot quando l’esecuzione inizia / è interrotta.
Questo metodo può essere sovrascritto per implementare un certo comportamento quando l’esecuzione inizia / termina.
Di default è vuoto.