pelinkehitys j2me-ympÄristÖssÄ

16
PELINKEHITYS J2ME- YMPÄRISTÖSSÄ Pauli Ojanen 3.3.2006

Upload: elton-vinson

Post on 31-Dec-2015

32 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

PELINKEHITYS J2ME-YMPÄRISTÖSSÄ

Pauli Ojanen3.3.2006

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

Pelidemo

● CLDC 1.0

● MIDP 2.0

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/