LayerManager,TiledLayer Léczfalvy Ádám
2
Több Layer (TiledLayer, Sprite) kezelése A játékok készítésekor tipikusan több réteg szükséges a „jelenet” felépítéséhez Az játék összetevőket rétegekhez lehet rendelni, a LayerManager pedig elvégzi a kirajzolást a rétegek sorrendjének megfelelően 3
A jelenetet felépítő tipikus összetevők: Atmoszféra Terep Környezeti effektusok (pl. köd) Játékos(ok) Ellenfelek Tereptárgyak, powerup-ok Stb. 4
A layer-ek sorszámot kapnak (z-order) ◦ A 0. réteg van legközelebb a felhasználóhoz, a nagyobb sorszámmal rendelkezők pedig egyre távolabb ◦ Mindig folytonos a sorszámozás ◦ Először az utolsó réteg kerül kirajzolásra, majd erre rákerül az előtte lévő…és így tovább a 0.-ig A kisebb sorszámú rétegek eltakarhatják a nagyobb sorszámmal rendelkezőket, ezért a sorrend fontos! 5
A LayerManager paint(g, x, y) metódusa g-re kirajzolja az összes tartalmazott layer-t az indexeknek megfelelő sorrendben az x,y pixel-pozícióra 6
A setViewWindow(x, y, width, height) metódus segítségével nagyméretű Layer-ek esetén beállítható, hogy a kijelzőn a „pálya” melyik részét akarjuk látni (scrollozás) Az x és y paraméterek a LayerManager koordinátarendszere szerint értendők A width és height paraméterek megadják a nézet méretét 7
Egyszerű pálya felépítése két (TiledLayer) réteggel: ◦ Terep ◦ Köd A TiledLayerek-en belül animációk használata A pálya bejárható vízszintes irányban 8
9
TiledLayerMidlet.java: MIDletet reprezentáló osztály GameCanvas.java: A játékot megjelenítő Canvas TerrainLayer.java: A terepet reprezentáló TiledLayer FogLayer.java: A köd effektust reprezentáló TiledLayer 10
11
12
13
14
15
16
17