Pelimoottorin anatomiaBⅴ: Richard bald,Online
org/licenses/by/30Kokoelman rakenne tarkistettu 3/02/7 ja tämän kokoelman sisältämien moduulien attribuutiotiedot ovat Attributions"-osio julkaisun lopussa.
Käännä ja suorita ohjelma.Luo erätiedosto. Suorita komentotiedostoKun ohjelma Yhteenveto Mitä seuraavaksi· Sekalaista· Lataa lähdekoodi cod1 2 Esipuhe· Näytä tyyppi mages. sekä C++ että C#/XNA
Olen pitkään ollut huolissani siitä, että opiskelijat tulevat kursseilleni odottaen yksinkertaisesti kääntävänsä pelimoottorin, kuten DarkGDK:n tai XNA:n, kammen ja että prosessin toisesta päästä syntyy hienoja pelejä. Valitettavaa Pelimoottorin anatomiaAikarajoitukset ja muut rajoituksia, ei ole käytännöllistä opettaa näille opiskelijoille paljon tällaisista pelimoottoreista. Siksi olen päättänyt julkaista sarjan pelimoottorin anatomiaa käsitteleviä moduuleja, joita opiskelijani (ja muut kiinnostuneet osapuolet voivat lukea saadakseen tietoa näistä sisäisistä toiminnoistaEnsin kokoelmassa. , tämä moduuli on ensimmäinen moduulikokoelmasta, joka on suunniteltu opettamaan sinulle tyypillisen pelimoottorin (jota joskus kutsutaan pelikehykseksi) anatomiaa.
Slick2D-kirjasto on päättänyt keskittyä ilmaiseen pelikirjastoon nimeltä slick2D, (joka on kirjoitettu Java-kielellä) yleisistä syistä.Seuraava Java on kieli, jolla viihdyn parhaiten, joten voin luultavasti selittää anatomian paremmin. Slickediä käyttävä pelimoottori kuin C++-, C#-, Python- tai jollakin muulla ohjelmointikielellä kirjoitettu agame-moottori Java on osoittautunut viime vuosina kaupallisesti menestyväksi peliohjelmointikieleksi. Mainitsen esimerkiksi kaupallisen pelin nimeltä Minecraft , kirjoitettu Java-kielellä, josta on myyty ilmeisesti miljoonia kopioita. Lisäksi Java on erittäin hyödyllinen niille, jotka saattavat haluta kehittää sovelluksia Androidille.Slick2D on ilmainen ja Slick2D:n lähdekoodi on helposti saatavilla
SlickeD-peruspelimoottorin yleinen rakenne on hyvin samanlainen kuin Dark gDK ja XNA ja on luultavasti samanlainen kuin muut pelimoottorit, koska weJava on alustariippumaton. Soveltuu myös muihin ympäristöihin, vaikka tämän kokoelman moduulit keskittyvät Java-pelikirjastoon nimeltä Slick2Dhe:n käsitteet ja saamasi tiedot soveltuvat muihin eri ohjelmointikielillä kirjoitettuihin pelimoottoreihin. Tarkoitus Tämän moduulin tarkoituksena on saada sinut alkuun, mukaan lukien opastaminen, kuinka ladata ja pitkä Slick2D sekä kääntää ja suorittaa ensimmäinen Slick2D-ohjelmasi Future. moduulit alkavat kaivaa Slick2D-peruspelimoottorin sisäisiä toimintoja ja selitä sitäMitä sinun tulee tietääTätä moduulisarjaa ei ole tarkoitettu aloitteleville ohjelmoijille. Sinun tulisi vähintään ohjelmoida käsitteitä, silmukoita, while-silmukkaa, menetelmä- tai funktiokutsuja, parametrien välitystä jne. Ihannetapauksessa sinulla on jonkin verran olio-ohjelmointiosaamista nykyaikaisilla ohjelmointikielillä, kuten Java, C#, C++, tai mahdollisesti python tai JavaScripttrees erä- tai komentosarjatiedostot jne. Lopulta sinun pitäisi myös olla mukava ladata ja asentaa ohjelmistoja koneelle ja
valitsemasi käyttöjärjestelmäMitä opitTästä opit lataamaan ja asentamaan slicked Windows XP Vista- tai Windows 7 -koneeseen ja kuinka kääntää ja suorittaa hyvin yksinkertainen slicked ohjelma (jos käytät toista käyttöjärjestelmää, sinun on käännä nämä tiedot valitsemaasi järjestelmääsi Koska Java on kuitenkin alustariippumaton, koodin tiedot, joista keskustellaan, koskevat kaikkia tai useimpia alustoja. Katseluvinkki suosittelee, että avaat tämän moduulin toisen kopion erillisessä selainikkunassa ja käytät seuraavia linkkejä löytääksesi ja helposti tarkastele lukuja ja luetteloita samalla kun luet niistä kuvaKuva 1
Tulos Slickistä ohjelman käynnistyksen aikanaImage 2 -oletus Slick2D-peli windonListingsListing 1 Slick2D-ohjelma nimeltä Slicko100a javaListing 2 Tiedosto nimeltä CompileAndrun bat13 Preview Suurin osa slick2D-opetusohjelmista, jotka löydät Internetistä, alkaa käskemällä ladata ja asentaa. tason IDE, kuten Eclipse tai NetBeans, en tee niin. Vaikka korkean tason IDE:t ovatkin hyviä parantamaan kokeneiden ohjelmoijien tuottavuutta, ne ovat yliluonnollisia opiskelijoille, jotka opettelevat ohjelmointia. Ne eivät vain ole liikoja, ne myös piilottavat monia yksityiskohtia, jotka aloittelevat ohjelmoijat täytyy ymmärtääSiksi, näytän sinulle kuinka Slick2D asennetaan siten, että voit helposti kääntää ja suorittaa Slick-ohjelmia komentoriviltä ilman highIDE:tä.
tarve on tekstieditori (mieluiten värikoodattu Java-syntaksia varten), ilmainen Slick2d-jakelu ja ilmainen Java-kehityspaketti Oraclelta1 Jotkut Javasyntax-värikoodauksella ja jotkut ilman (pienellä kerralla jopa Windows Notepad riittää
)Tässä on linkkejä muutamiin GRASP· DrAwaArachnophilia-sivustoon. Slick-jakelu tulee käyttämään tätä materiaalia joillakin Java OoP -ohjelmointikursseilla, joita opetan. Odotan, että slick2D-kirjastoon tehdään muutoksia ja parannuksia ajan myötä. Se voi kuitenkin olla hämmentävää kun saman ohjelmointikurssin eri opiskelijat käyttävät eri ohjelmistoversioita, varsinkin jos ohjelmistoon tehdään muutoksia, jotka eivät ole taaksepäin. Siksi teen kopion slicked-jakelusta saataville napsauttamalla tätä, jotta kaikki opiskelijani voivat ladata ja käyttää samaa versio kursseillani Jos et ole opiskelijoistani, voit mieluummin mennä slickeD-pääsivulle ja valita lataa uusin versio jakelusta, tallenna tiedosto, jotta voit keskustella siitä myöhemmin
Avaa zip-tiedosto millä tahansa ohjelmalla (käytä ohjelmaa nimeltä winZip), pura ja tallenna seuraavat tiedostot aiemmin lataamastasi slick2d-jakelutiedostosta. , mutta emme tarvitse niitä vielä Jos tarvitsemme niitä tulevassa moduulissa, kerron sinulle, että nämä kolme tiedostoa tarvitaan täyttämään luokkapolun ja Java-kirjastopolun vaatimukset, jotka kuvailen myöhemminKaksi ensimmäistä jar-tiedostoa Kopioi kaksi ensimmäistä jar-tiedostoa yllä olevasta luettelosta kansioon jarss rese on suoritettava seuraava komento asettaaksesi luokkapolun aina kun käännät tai suoritat Slick2D programcp ijars/slick
purkki; /jars/wjgljarKolmannen jar-tiedoston pitäisi löytää Slick2D-jakelusta samanlainen tiedosto, joka koskee järjestelmäjärjestelmääsi, yoYllä olevan luettelon kolmas tiedosto koskee vain Windowsia Jos käytät diff-. Pura jar-tiedoston sisältö millä tahansa ohjelmalla, jonka löydät avataksesi jar-tiedoston (käytän ohjelmaa nimeltä winzip), pura seuraavat tiedostot tiedostosta nimeltä natives-win32jarjinput-dx8dIljinput-rawdI· lwjgl dllOpenal32 dllKopioi nämä neljä tiedostoa kansioon nimeltä lwjglbinKuten näet myöhemmin, tämä johtaa suorittaaksesi seuraavan komennon asettaaksesi javalibrary polun sys
tem propertyDjava-kirjaston polku=lwjgnbin(Nämä tiedostot voidaan myös tallentaa kansioon, josta ohjelmaa ajetaan, ja tämä poistaa vaatimuksen asettaa Java-kirjastopolku, jos haluat sen.16 Luo, käännä ja suorita ensin Slick2D-ohjelmaLuo lähdekooditiedosto Kokoa ja suorita ohjelmao Luo erätiedostoo Suorita erätiedostoLuo lähdekooditiedosto Luo tekstieditorillasi tekstitiedosto nimeltä slick0100a java ja tallenna se kansioon nimeltä Slicko100a(Varmista, että tiedosto on oikea tunniste, varsinkin jos luot sen Windows-muistiinpanolla. txt-tunniste ei toimi) Kopioi koodi varovasti Listingistä tekstitiedostoon Tämä on tiedosto, jonka yrität kääntää ja suorittaa varmistaaksesi järjestelmän oikean toiminnan/*Slick0100a javaCRG BaldwinYksinkertainen ohjelma, joka näyttää liukaskehyksen vaatiman menetelmän definitTestattu JDK 1:llä
7 alla WinXPmport org newdawn slick AppGame Containermport org newdawn slick BasicGamenewdawn slick GameContainermport org newdawn slick Graphicsmport orgck SIickExceptio
Pelikoneen anatomia SisällysluetteloLuku l slicko100: SlickeD-pelin libralo 11:n käytön aloittaminen Sisällysluetteloon 1 2, EsipuheKatseluvinkkiListio13 EsikatseluLataa tarvittava ohjelmistoTekstimuokkausSlickeD-jakelu Ensin Java-kehityskito 16, SlickeD-suorita ja SlickeDecompile ohjelmaLuo lähdekooditiedosto Kokoa ja suorita ohjelmaLuo erätiedosto Suorita komentotiedostoo lZ Suorita ohjelmaSummaryo19 Mitä seuraavaksio111 Lataa lähdekoodi· Luku 2, SlickerI0overVewo
Sisällysso 2 2 EsipuheKatseluvinkkiListingso 23 Ylärivi 2 4 Esikatselu25, Mikä on pelimoottori? Ohjelmistokehys7 Keskustelu ja esimerkkikoodiPalveluntarjoajaohjelma■ Kaksi ensisijaista kohdetta App Game Container -luokan objektin käyttäytyminen
Ohjelman käyttäytyminen, joka toteuttaa pelin käyttöliittymän Slick011oaPelin käyttöliittymä ohjelman kanssa 29 Yhteenveto 210 Mitä seuraavaksi?o 211, Sekalaista Luku 3 slicko120: Ohjelman käynnistäminen 3 1, Sisällysluetteloso2 EsipuheD■iscus-vihjeitäLiitioinnit App Game Container -luokan objektin käyttäytyminen Pelin käyttöliittymän toteuttavan objektin käyttäytyminen App Game Container -luokan rakentajatApp Game Container -luokan rakentajatApp Game Container -luokan Get Delta -menetelmä Game Container -luokan GameLoop-menetelmä Appgame Container -luokan 36 Suorita ohjelma 3
7 Yhteenveto 3 8 Mitä seuraavaksi?3 10 Täydellinen ohjelmalistaus Luku 4 slicko130: Peli loopo 41 Sisällysso EsipuheKatseluvinkkiKuvatListingso 43 EsikatseluOminaisuus nimeltä runningThe gameLoop methodder methoda Kutsut metodin päivitysrakenteeseen. ohjelmaKeskustelu ja esimerkkikoodi
Ohjelma nimeltä slicko130■ Näytön tulosAlkoi slicko130aPäämenetelmäOhitettu aloitusmenetelmäOhitettu päivitysmenetelmän Ohitettu renderöintimenetelmä ■ Keskustelun loppuSuorita ohjelma0 47 Yhteenveto 8 Mitä seuraavaksi?o 4 10 Täydellinen ohjelmalistaus Luku 5:slicke ensin bittikarttagrafiikka 51 Sisällysso 52 Esipuhe Listojen katseleminen53 Esikatselu5 4
Yleistä taustatietoa55 Keskustelu ja esimerkkikoodi Luokan Slick0140a alkuun PäämenetelmäOhitettu aloitusmenetelmäTyhjä päivitysmenetelmän Ohitettu renderöintimetho56 Suorita ohjelmaO 5Suro 58 Mitä seuraavaksi?o Sekalaistao 510 Täydellinen ohjelmalistaus Luku 0: Slicko15ite , törmäys de■ lewing tipo 63 Esikatselu6 4 Yleistä taustatietoa65 Keskustelu ja esimerkkikoodiSuhteellisen tasaisella kuvanopeudella oleva ohjelma- Slick0150aSlicko150a:n näytön ulostulo
Slick015-nimisen luokan alku (konstruktori ja päämenetelmä Aloitusmenetelmä■ Renderöintimenetelmä erittäin vaihtelevalla kuvanopeudella- Slicko150bNäyttötuloste Slicko150b:n renderöintimenetelmä Päivitysmethoo 66 Suorita ohjelmat67 Yhteenveto 6 8 Mitä seuraavaksi69 Muuto 6 10 Täydelliset ohjelmalistaukset Luku 1 slicko160: Piirtämisen ja piirtämisen Flash-menetelmien käyttöo 7 1
Sisällys07 2 EsipuheKatseluvinkki■ Listingso 73 Esikatselu74Taustatiedot 75 Keskustelu ja mallikoodiSlick0160aa-niminen ohjelma Slick0160a-luokan alku■ Päämenetelmä Aloitusmenetelmä päivitysmenetelmä renderöintimenetelmä. Ohjelma nimeltä Slick ohjelmat0 17 YhteenvetoSekalaista710 Täydellinen ohjelmaluettelo8So81 Sisällyso82 EsipuheKatseluvinkki
o83 Previewo 84 Genero 85 Keskustelu ja esimerkkikoodi6 Suorita ohjelma8 Mitä seuraavaksi?o89 Sekalaistao 8 10 Täydellinen ohjelmaluettelo Luku 9 Slicko180: Sprite Sheet -animaatio, osa Io 91 Sisällysluettelo EsipuheKatseluvinkkien tiedot. Keskustelu ja esimerkkikoodi Luokka nimeltä slicko180The init methodThe update methodThe renderöintimenetelmä 26
Suorita ohjelman yhteenveto 0Aloitusmenetelmä päivitysmenetelmä
Renderöintimenetelmä 106 Suorita ohjelman yhteenveto0108, mitä seuraavaksi?o109 Muuta 0 Alku methodThe update methodThe renderöintimenetelmä 116 Suorita ohjelma IL7 Summaryoil
8 Mitä seuraavaksi renderöintimenetelmä12 6 Suorita ohjelma12 8 Mitä seuraavaksi?
o12 9 Muuto 1210 Täydelliset ohjelmaluettelot Luku 13 Slick0220: Pandemico 131:n simulointi, Sisällysluettelo ja 2 EsipuheKatseluvinkki■ Listat0133, Esikatselu 13 4
Yleiset taustatiedoto 135 Keskustelu ja esimerkkikoodi Luokka nimeltä spriteolLuokka namk0220Päivitysmenetelmä Renderöintimenetelmä 136 Suorita ohjelma013 8 Päätelmäo9 Muuta 13 10 Suorita ohjelmalista
Luku 1 Slick0100: slick2Dgame-kirjaston käytön aloittaminenSe on lisensoitu Creative Commons Attribution -lisenssillähttp://creativecommons
org/licenses/b2013/02/0708:38:05-0600SummaryOpi asentamaan Slick2D niin, että voit helposti kääntää ja suorittaa Slick2D-ohjelmia komentoriviltä ilman korkean tason IDE11 Sisällysluettelo· EsipuheKatseluvinkkiKuvatListingse EsikatseluLataa tarvittava ohjelmisto· TekstieditoritSujuva 2D-jakeluAva-kehitys KAsenna tarvittava ohjelmistoLuo, käännä ja suorita ensimmäinen Slick2D-ohjelmasi Luo lähdekooditiedosto