Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Bouncing Balls Brug af vektorer til modellering af hastighed og retning.

Lignende præsentationer


Præsentationer af emnet: "Bouncing Balls Brug af vektorer til modellering af hastighed og retning."— Præsentationens transcript:

1 Bouncing Balls Brug af vektorer til modellering af hastighed og retning

2 Klasser - overblik BallWorld –Initialiserer verdenen til en passende størrelse Ball –En bold der flyver rundt i verdenen og ’bouncer’ mod kanterne (opg. 3) andre bolde (opg. 4 – extra credit) Vector –Repræsenterer boldens retning og hastighed –Hver gang act kaldes af Greenfoot: x bestemmer hvor langt bolden skal flytte sig vandret (på x-aksen) y bestemmer hvor langt bolden skal flytte sig lodret (på y-aksen) dIntProg, E10

3 Animering – hvordan flytter bolden sig? Greenfoot kalder Ball’s act() metode act() kalder move() metoden move() får fat i boldens koordinater ved at kalde getX() og getY() (fra Actor) move() får fat i vel’s koordinater vha. vel.getX() og vel.getY() (fra Vector) move() opdaterer boldens position ved at kalde setLocation (fra Actor) vel:Vector act() :Ball getX() getY() move()getX()getY()setLocation(…) dIntProg, E10

4 Bouncing på kanterne Efter kaldet til move skal kant-kollision håndteres –Dette indkapsles i en metode handleWallCollision To tilfælde –Hvis bolden rører ved top eller bundkanten skal vel sættes til vel.horizontalFlip() –Hvis bolden rører ved en sidekant skal vel sættes til vel.verticalFlip() dIntProg, E10

5 Kantcheck Hvordan checker man om bolden rører en kant? –Indkapsles i hitTopWall() hitBottomWall() hitLeftWall() hitRightWall() –Undgå at ’hardcode’ bredden og højden på verdenen Brug i stedet World metoderne getWidth() og getHeight() –Husk at tage højde for boldens størrelse Brug GreenfootImage-metoderne getWidth() og getHeight() dIntProg, E10

6 Kantcheck eksempel - hitRightWall() (getWorld().getWidth()-1, 0)(0,0) (0, getWorld().getHeight() - 1)(getWorld().getWidth() - 1, getWorld().getHeight() - 1) getX() + getImage().getWidth()/2 > getWorld().getWidth()-1 dIntProg, E10


Download ppt "Bouncing Balls Brug af vektorer til modellering af hastighed og retning."

Lignende præsentationer


Annoncer fra Google