Download presentation
Presentation is loading. Please wait.
Published byLaura Castel Modified over 9 years ago
1
with Java
2
Java is te traag voor games Swing is traag Java heeft Memory Leaks Java is té High-level
6
FSEM
7
Thread.sleep(1000 / FPS) Thread.sleep(1000 / (FPS - updateTijd))
8
Update blok splitsen Update en Render
9
class Entity{ … public void update(long timePassed) { updateBehaviour.update(timePassed); } public void draw(Graphics2D g) { drawBehaviour.draw(g); }
10
(coo.x, coo.y) (getXonScreen(), getYonScreen() ) g.drawImage(afbeelding, getXonScreen(), getYonscreen(), null); coo = fysieke locatie in de wereld entity
12
Vooraf inladen vs at runtime Library Load en unload JPG – PNG - GIF
14
GIF vs self Library Using ImageLibrary
15
200ms
19
Composed Full CountourInner Shape
20
Full Countour + check for transparency Pseudo code
21
groen.contains(rood.linkerBovenhoek) || groen.contains(rood.rechterBovenhoek) || groen.contains(rood.linkerOnderhoek) || groen.contains(rood.rechterOnderhoek)
22
SimpleMap Static Low cost on rendering ScrollingMap Dynamic Heavy cost on rendering cooler
23
g.drawImage(bgImage, camera.x, camera.y, null);
25
Level (TopViewLevel) doe50keer{ addEntity(new EnemyPlane(randomX, randomY)) } Random r = new Random(); r.nextInt(maxValue);
26
draw(Graphics2D g){ for(Entity e: entities){ e.draw(g); } update(long timePassed) { renderObjects.clear(); for(Entity e: entities) { e.update(timePassed); if(camera.contains) { renderObjects.add(e); } draw(Graphics2D g){ for(Entity e: renderObjects){ e.draw(g); }
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.