pelinkehitys j2me-ympÄristÖssÄ
DESCRIPTION
PELINKEHITYS J2ME-YMPÄRISTÖSSÄ. Pauli Ojanen 3.3.2006. Sisältö. Mikä J2ME ? konfiguraatiot, profiilit, midletit Laitteistot Game API oleellisimmat luokat Pelinkehityksen työkalut ja vaiheet Pelidemo Yhteenveto. J2ME (Java 2 Micro Edition). - PowerPoint PPT PresentationTRANSCRIPT
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
Sisältö
● Mikä J2ME ?
– konfiguraatiot, profiilit, midletit● Laitteistot
● Game API
– oleellisimmat luokat● Pelinkehityksen työkalut ja vaiheet
● Pelidemo
● Yhteenveto
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
J2ME (Java 2 Micro Edition)
● Rajoittuneille laitteille tarkoitettu kevyempi versio Javasta
● Turvallisuus
● Laitteistoriippumattomuus
● Kaksi konfiguraatiota:
– CDC (Connected Device Configuration), verkkoon kytketyille laitteille kuten digibokseille
– CLDC (Connected Limited Device Configuration), vielä rajoittuneimmille laitteille kuten matkapuhelimille
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
J2ME (Java 2 Micro Edition)
● Konfiguraatioiden päällä on profiileja
● MIDP (Mobile Information Device Profile) profiili matkapuhelimille
● MIDP mahdollistaa mm. sovellushallinnan, käyttöliittymän, tallennustilan ja verkkoyhteydet
● MIDP sovelluksia kutsutaan Midleteiksi
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
J2ME (Java 2 Micro Edition)
● Midletit käännetään Javan välikieleksi (bytecode) ja niiden ajamiseen tarvitaan virtuaalikone, KVM (K Virtual Machine)
● Midletin elinkaari on hieman samanlainen Java Appletin kanssa
import javax.microedition.midlet.*;import javax.microedition.lcdui.*;
public class MiniMidlet extends MIDlet {
public MiniMidlet() { } public void startApp() { } public void pauseApp() { } public void destroyApp(boolean unconditional) { }
}
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
Laitteet
Näytön koko
Värejä
CLDC versio
MIDP versio
128x128
4096
1.0
1.0
176x208
65 536
1.0
2.0
320x240
16 000 000
1.1
2.0
Nokia 3100 Nokia 6260 Nokia E61
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
Game API
● Vain MIDP 2.0:ssa
● Koostuu pelin tekoa helpottavista luokista
● Luokat auttavat:
– tuplapuskuroinnissa– näppäinten lukemisessa– hahmojen piirtämisessä ja animoinnissa– hahmojen törmäysten tutkimisessa– pelitasojen esittämisessä
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
Sprite
● Visuaalinen elementti joka voi olla yksi kuva tai useista kuvista koostuva animaatio
● Animaatiot voidaan jakaa sekvensseihin
● Sprite luokan oleellisimmat metodit
– public Sprite(Image image, int frameWidth, int frameHeight)– public void setFrameSequence(int[] sequence) – public void nextFrame()– public void paint(Graphics g)– public boolean collidesWith(Sprite s, boolean pixelLevel) – public void setPosition(int x, int y)– public void move(int dx, int dy)
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
TiledLayer
● Visuaalinen elementti jonka avulla voidaan esittää suuria taulukkopohjaisia karttoja/pelitasoja
● Koostuu “tiileistä” jotka voivat olla myös animoituja
● TiledLayer luokan oleellisimmat metodit
– public TiledLayer(int columns, int rows, Image image, int tileWidth, int tileHeight)
– public void setCell(int col, int row, int tileIndex)
– public void paint(Graphics g)
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
LayerManager
● Mahdollistaa objektien jaon tasoihin (layer)
● Kaikki objektit voidaan piirtää kerralla
● Helpottaa vierityksen (scrolling) toteutusta
● LayerManager luokan oleellisimmat metodit
– public LayerManager()– public void append(Layer l) – public void setViewWindow(int x, int y, int width, int height) – public void paint(Graphics g)
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
GameCanvas
● Hoitaa tuplapuskuroinnin
● Kertoo näppäimien painalluksista
● GameCanvas luokan oleellisimmat metodit:
– public void flushGraphics()– public int getKeyStates() – public Graphics getGraphics()
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
Pelisilmukka
while(gameRunning) {
checkFrameStartTime();
readInput();
simulateWorld();
drawWorld();
checkFrameEndTime();
calculateSleepTime();
sleep(sleepTime);
}
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
Pelinkehityksen työkalut ja vaiheet
● Työkalut
– J2SE (Java 2 Standard Edition)– J2ME Wireless Toolkit– Tekstieditori
● Suunnittelu
● Ohjelmointi
● Kääntäminen
● Testaaminen
● Jakelu (.jar, .jad)
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
Yhteenveto
● Game API helpottaa ja nopeuttaa pelin kehitystä
● Huomioon otettava näyttöjen, näppäimistöjen erilaisuus sekä CLDC ja MIDP versiot
● Laitteistoriippumattomuus
Mediatekniikan seminaari Pauli Ojanen 3.3.2006
Materiaalia
● Java 2 Platform, Standard Edition (J2SE)
– http://java.sun.com/j2se/● Java 2 Platform, Micro Edition (J2ME)
– http://java.sun.com/j2me/● Sun Java Wireless Toolkit
– http://java.sun.com/products/sjwtoolkit/● Getting Started With the MIDP 2.0 Game API
– http://developers.sun.com/techtopics/mobility/midp/articles/gameapi/