Alkuhuipun jälkeen koodaaminen on hieman väistynyt muiden asioiden tieltä, joten suuria muutoksia ei ole juuri tullut. Jokseenkin alituinen tietokoneella oleminen rassaa ja tästä syystä on helppo löytää muutakin tekemistä. Lisäksi koulu alkoi tänään, joten luvassa voi olla jonkin ajan päästä hieman hiljaisempia aikoja. Positiivisena puolena voisi mainita, että tarina alkaa olla kehittämiskelpoisessa pisteessä, mutta siitä en aio kertoa enempää. (Tulevasta) kiireestä huolimatta koetan koodata peliä eteenpäin parhaani mukaan.

Uusina asioina sivuilta löytyvät hienoinen dokumentti game wizardista, http://koti.mbnet.fi/~deluxo/dokumentti.txt, sekä tietenkin alustava layoutti kyseisestä sovelluksen osasta, http://koti.mbnet.fi/~deluxo/wizard.png. Ruma kuin sika pienenä, tiedän, mutta paneelit on nyt aseteltu paikoilleen. Ja ettei nyt sattuisi mitään erehdyksiä, niin kyseinen kuva on siis screenshotti sovelluksesta, ei photoshopilla tehty leiskaesitelmä. Jopa omalla esteettisellä silmälläni tehdään parempaa jälkeä kuin tuo. :P

Ongelmina tuli esille jar-tiedoston kääntäminen exe-tiedostoksi. Ainakaan jar2exe wizard 1.8 ei kyseistä käännöstä osannut tehdä. Täytynee kokeilla joko jotain muuta ohjelmaa tai sitten lukea tämä artikkeli läpi. Vaikka suoritettavan tiedoston jakaminen sivuilla olisikin parempi tapa esittää sovelluksen toimintaa kuin screenshotit, ajattelin siirtää tämän huolen kuitenkin hamaan tulevaisuuteen. Yksi tapa on tietenkin ladata Netbeans ja ajaa sourcet sillä.

Tajusin, ehkä turhankin selvän asia, että frame tarvitsee taaksensa aina jonkin koko ruudun (tai ikkunallisessa tilassa koko ikkunan) peittävän paneelin. Mikäli tällaista ei aseteta, taustapaneeliksi asetetaan automaattisesti Container-luokan olioon viimeisenä lisätty näkyvä paneeli. Täten tähän paneeliin ei vaikuta millään tavalla JPanelin setbounds-metodilla tehdyt kokorajoitukset, vaan se on aina koko ruudun kokoinen. Tämä tuskin jää viimeiseksi oppimakseni asiaksi paneeleista, sillä käytän niitä ensimmäistä kertaa. Välillä olisi helpompaa mikäli olisi joku selittämässä, eikä tarvitsisi koko ajan edetä kantapään kautta.

Lisäksi itse sovelluksen toimintaan liittyy kaksi ongelmaa, joita en ole vielä saanut ratkaistuksi. Ensimmäinen liittyy fullscreen-tilan käyttöön, sillä sovellus ei muutu ikkunalliseksi vaikka GraphicsDevice-luokan olion setFullScreenWindow()-metodille antaakin parametriksi arvon null (kuten esimerkiksi tässä tutoriaalissa mielestäni sanotaan, toivottavasti joku kykenee selkiyttämään asiaa). Ehkä ongelma kuitenkin ratkeaa tarpeeksi hinkkaamalla. Totta puhuen varastin suurimman osan fullscreen-koodista jostakin tutoriaalista jota en enää muista ja sovelsin sitä turhankin nopeasti käytäntöön. Täytyy ottaa asiosta paremmin selvää kunhan saan tärkeämmät asiat alta.

Toinen ongelma liittyy hiiren kursorin käyttöön sovelluksen tilojen valitsemisessa. Sovelluksen tilojen valitseminen toimii tällä hetkellä niin, että alkuvalikossa käyttäjä valitsee haluamansa tilan (play, settings tai game wizard) painamalla niitä symboloivia "nappeja". En tiedä onko kyseiseen toimintoon mitään oikotietä, mutta itse olen toteuttanut toiminnon niin, että otan kyseisen kuvan x- ja y-position ja lisään niihin kuvan leveyden verran pikseleitä, jonka jälkeen vertailen if-lauseella klikkaako käyttäjä näiden koordinaattien sisältä. Näyttää kuitenkin siltä, että annetut koordinaatistopisteet heittelevät fullscreen- ja window-modien välillä, sillä samat koordinaatit jotka toimivat window-modessa osuvatkin liian alas kun kyseessä on fullscreen-tila.

Joka tapauksessa, takaisin koodauspöydän ääreen.