Invocarea unei metode a lumii în Greenfoot este esențială pentru gestionarea și manipularea întregului context al scenariului. Vom explora cum să invoci o metodă a lumii în cadrul proiectului Greenfoot. Vom lua ca exemplu o metodă simplă care modifică proprietățile lumii.
Exemplu Practic: Invocarea unei Metode a Lumii
1. Deschideți Greenfoot:
- Deschide aplicația Greenfoot pe computerul dvs.
2. Accesați Bara de Instrumente:
- Găsiți bara de instrumente în partea de jos a ecranului Greenfoot.
3. Selectați Instrumentul de Adăugare Actor:
- Alegeți instrumentul de adăugare actor, de obicei un simbol de plus, din bara de instrumente.
4. Alegeți un Actor pentru a Reprezenta Lumea:
- Selectați sau creați un actor care va reprezenta lumea în proiectul dvs.
5. Deschideți Fișierul Java al Lumii:
- Deschideți fișierul Java asociat actorului care reprezintă lumea. Acesta este fișierul care extinde clasa
World
în Greenfoot.
6. Adăugați o Metodă nouă în Fișierul Java al Lumii:
- Adăugați o metodă simplă, cum ar fi următoarea, care modifică o proprietate a lumii (de exemplu, culoarea fundalului):
import greenfoot.*;
public class NumeleLumii extends World {
public NumeleLumii() {
super(600, 400, 1);
setBackground("background.jpg"); // Setăm imaginea de fundal
}
public void schimbaCuloareaFundalului() {
setBackground("new_background.jpg"); // Modificăm imaginea de fundal
}
}
7. Invocați Metoda în Metoda act()
:
- În aceeași clasă, puteți invoca această metodă în metoda
act()
sau în oricare altă metodă, în funcție de necesitățile dvs.
import greenfoot.*;
public class NumeleLumii extends World {
public NumeleLumii() {
super(600, 400, 1);
setBackground("background.jpg");
}
public void schimbaCuloareaFundalului() {
setBackground("new_background.jpg");
}
public void act() {
// Alte acțiuni...
if (Greenfoot.isKeyDown("space")) {
schimbaCuloareaFundalului(); // Invocăm metoda când se apasă tasta "space"
}
}
}
8. Rulează Scenariul:
- Apăsați butonul “Run” pentru a vedea cum acțiunea de apăsare a tastei “space” invocă metoda care schimbă imaginea de fundal.
Observații:
- În acest exemplu, am creat o metodă simplă pentru a schimba imaginea de fundal, dar puteți crea și utiliza orice metode specifice ale lumii pentru a gestiona diferite aspecte ale jocului dvs.
Vom dezvolta un exemplu simplificat în care Wombat1 se va deplasa în jurul unui cerc în Greenfoot. Pentru acest exemplu, vom utiliza metoda turn()
pentru a-l face să se rotească în jurul punctului central al scenei.
import greenfoot.*;
public class Wombat1 extends Actor {
private int razaCerc = 100; // Raza cercului
public void act() {
deplasareInCerc();
}
private void deplasareInCerc() {
// Obținem poziția actuală a wombatului
int x = getX();
int y = getY();
// Calculăm noi coordonate pentru a se deplasa în jurul cercului
double radians = Math.toRadians(getRotation()); // Convertim unghiul în radiani
int newX = x + (int) (razaCerc * Math.cos(radians));
int newY = y + (int) (razaCerc * Math.sin(radians));
// Setăm noile coordonate și ajustăm unghiul pentru următoarea cadru
setLocation(newX, newY);
setRotation(getRotation() + 1); // Ajustăm unghiul pentru a rota în jurul cercului
}
}
În acest exemplu:
- Am definit o variabilă
razaCerc
care reprezintă raza cercului pe care Wombat1 îl va parcurge. - În metoda
act()
, Wombat1 apelează metoda privatădeplasareInCerc()
. - În metoda
deplasareInCerc()
, folosim trigonometrie pentru a calcula noile coordonate în funcție de unghiul de rotație și raza cercului. - Wombat1 se deplasează în jurul cercului prin ajustarea poziției sale la fiecare cadru și rotația constantă.