Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java ja skriptikielet

Mobel [16.06.2009 21:15:35]

#

Tuskailen vieläkin ikuisuusprojektini, tilepelin, kanssa. Nyt haluaisin monipuolistaa pelialuetta ja antaa pelaajalle mahdollisuuden vaikuttaa maailmaan. Jotta peli pysyisi muokattavana en halua kovakoodata efektejä ja muita itse peliin, vaan ajattelin ottaa käyttöön jotakin skriptikieltä. Tällaista en ole ennen kokeillut, joten oppiipahan samalla jotain uuttakin.

Ajattelin toteuttaa kielellä tietokoneen pelaamien hahmojen edesottamukset ja kentissä näkyvät efektit(esim. pelaaja painaa nappia, ovi aukenee). Kieli pitäisi pystyä kääntämään Javaksi lennossa, tai näin ainakin sen ajattelin olevan helpointa. Tällöin voin skriptitiedostosta vaikkapa piirtää näytölle neliön piirtämällä sen vain ohjelman Graphics-muuttujaan.

Tällainen toteutus tuli ensimmäisenä mieleen, joten jos muita tapoja löytyy, niin kertokaa toki. Lueskelen mielelläni kaikkea pelin skriptaamiseen ja skriptikielen implementointiin liittyvää.

Mikä kieli olisi sopiva ja vaatiiko sen asentaminen muuta kuin kirjaston liittämisen projektiin?
Kaikki ideat, suositukset ja neuvot jälleen kerran tervetulleita.

kayttaja-2499 [17.06.2009 07:59:29]

#

Java 6:ssa on skriptaus API sekä Mozillan Rhino mukana (Javascript moottori).
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/
Sivulta https://scripting.dev.java.net/ löytyy lista skiptikielistä/moottoreista, joita voidaan käyttää APIn kautta.

Mozilla Rhinoa (luultavasti myös muita) voidaan käyttää suoraankin ilman skriptaus APIa.
http://www.mozilla.org/rhino/
https://developer.mozilla.org/en/Rhino_documentation

Käytännössä skriptikielestä pääsee käsiksi vain niihin javan olioihin, jotka ovat annettu skriptausmoottorille.

Jackal von ÖRF [17.06.2009 14:00:22]

#

Ehkä Groovy tai BeanShell sopisi skriptikieleksi.

Mobel [18.06.2009 14:26:18]

#

Kiitoksia hyvistä ehdotuksista.

Tuota BeanShelliä olenkin jo tutkaillut ennestään. Nyt kun ajattelin sen ladata ja kokeilla, ei ilmeisesti asentaminen onnistunut.

Latasin jar-paketin BeanShellin sivuilta ja laitoin sen ohjeiden mukaisesti Javan kansioon ...Java\jre6\lib\ext\, mutta en saanut kirjastoa toimimaan Eclipsessä, vaan jo import-rivi heitti virheen.

import bsh.*;

Kokeilin myös toista ohjeissa neuvottua tapaa tuloksetta.

C:\>set classpath %classpath%;bsh-2.0b4.jar
Ympäristömuuttujaa classpath .;C:\Program Files\Java\jre6\lib\ext\QTJava.zip;bsh
-2.0b4.jar ei ole määritetty.


Asiasta toiseen. Jos siltikin käyttäisin esimerkiksi Rhinoa, pystynkö JavaScriptillä kutsumaan Javalla kirjoitettuja metodeja?

Sami [18.06.2009 17:41:25]

#

Eclipsessä pitäisi onnistua ainakin siten, että käyt lisäämässä sen paketin projektin asetuksiin.
Project -> Properties -> Java Build Path -> Libraries -> Add External JARs...

kayttaja-2499 [18.06.2009 18:12:36]

#

Mobel kirjoitti:

Asiasta toiseen. Jos siltikin käyttäisin esimerkiksi Rhinoa, pystynkö JavaScriptillä kutsumaan Javalla kirjoitettuja metodeja?

Pystyt, kunhan annat skriptausmoottorille olion, jonka metodia haluat kutsua.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta