1、對于jvm這個(gè)平臺,上面實(shí)現(xiàn)了很多腳本語言,比如python在java上的實(shí)現(xiàn)叫做jython,ruby的叫做jruby,lua也有在java上的實(shí)現(xiàn),你可以搜索一下,luajava就是一個(gè)。
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了做網(wǎng)站、網(wǎng)站制作,成都網(wǎng)站設(shè)計(jì),一元廣告,成都做網(wǎng)站選創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
2、要在Java上使用Lua腳本,必須有關(guān)于Lua腳本解釋器以及Java程序可以訪問這些腳本的相關(guān)API,即相關(guān)類庫。
3、可以將 Lua function 作為參數(shù)傳遞給 Java,并讓 Java 保存 Lua function 的引用 可以從 Java 調(diào)用 Lua 的全局函數(shù),或者調(diào)用引用指向的 Lua function luaj 的功能很簡單,但對于集成各種 SDK 來說已經(jīng)完全滿足需求了。
首先,要在Java上使用Lua腳本,必須有關(guān)于Lua腳本解釋器以及Java程序可以訪問這些腳本的相關(guān)API,即相關(guān)類庫。
具體操作方法是:首先使用require(luajava)加載luajava模塊,然后把Lua數(shù)組傳到LuaJava轉(zhuǎn)換函數(shù),如toJavaArray(),最后再把轉(zhuǎn)換出來的Java數(shù)組賦值給給Java的變量就可以了。
上面實(shí)現(xiàn)了很多腳本語言,比如python在java上的實(shí)現(xiàn)叫做jython,ruby的叫做jruby,lua也有在java上的實(shí)現(xiàn),你可以搜索一下,luajava就是一個(gè)。其實(shí)在net平臺上也有很多腳本語言的實(shí)現(xiàn)的,比如iron(python)之類的。
你所說的java文件是什么文件?如果是java源碼文件是不能調(diào)用的,但如果是編譯后的class文件可以通過類加載器進(jìn)行加載,然后通過反射調(diào)用;但一般會(huì)通過實(shí)現(xiàn)特定的接口來簡化調(diào)用過程。
1、首先,要在Java上使用Lua腳本,必須有關(guān)于Lua腳本解釋器以及Java程序可以訪問這些腳本的相關(guān)API,即相關(guān)類庫。
2、具體操作方法是:首先使用require(luajava)加載luajava模塊,然后把Lua數(shù)組傳到LuaJava轉(zhuǎn)換函數(shù),如toJavaArray(),最后再把轉(zhuǎn)換出來的Java數(shù)組賦值給給Java的變量就可以了。
3、上面實(shí)現(xiàn)了很多腳本語言,比如python在java上的實(shí)現(xiàn)叫做jython,ruby的叫做jruby,lua也有在java上的實(shí)現(xiàn),你可以搜索一下,luajava就是一個(gè)。其實(shí)在net平臺上也有很多腳本語言的實(shí)現(xiàn)的,比如iron(python)之類的。
4、目前已經(jīng)集成在quick-cocos引擎中了。
5、要看LuaState luaState = LuaStateFactory.newLuaState();和 luaState.close();的實(shí)現(xiàn)方式。lua中有調(diào)用內(nèi)存分配用戶對象,但沒注冊gc的話,luastate的close不會(huì)釋放內(nèi)存。