j2me遊戲開發之LWJGL(Lightweight Java Game Library)

LWJGL(Lightweight Java Game Library)它可以幫助Java程序員開發有着商業性質的遊戲.LWJGL爲開發者提供簡單易用的API來訪問OpenGL (Open Graphics Library)與OpenAL (Open Audio Library) 同也提供操作控制器(Gamepads, Steering wheel和操縱桿)的API.


lwjgl是個綁定OpenGL的java包,可以使用lwjgl來編寫OpenGL程序,然後發佈爲jar包的形式。


我的IED是Intellij,因要包含native文件和而外的jar包,所以發佈要麻煩點。

在使用LWJGL時首先需要倒入相應jar和native文件。運行時連接native文件一般有兩種方式

1:在VM Option 運行參數裏添加 -Djava.library.path=native/windows(native/windows是放dll文件的地方,一般在項目下面)

2: System.setProperty("org.lwjgl.librarypath",System.getProperty("user.dir") + "/native/windows");這種方式是寫在程序入口,在主方法裏面第一行




下面是打包:

項目目錄結構:




在Intellij裏面打包很簡單,Ctrl+Shift+S,進入項目Project Structure,選擇Artifacts,添加jar(中間上面的加號),有Empty和from modules with dependency,如果選擇Empty,需要自定義另外需要添加的其他jar或者class這些。在依賴裏暫時還沒找到怎麼添加native文件,所以直接選擇from modules with dependency 。 到這裏就ok了,然後build生成的artifacts如下:


那個native文件夾是手動複製到裏面去的,然後在代碼裏手動指定native目錄,
System.setProperty("org.lwjgl.librarypath",System.getProperty("user.dir") + "/native/windows");
System.getProperty("user.dir")就是jar包運行時所在目錄。

在這裏打包和選擇Empty打包有個區別:

Empty方式會將所依賴的包打到當前包下面。


而from modules with dependency方式不會將依賴的jar打包到當前jar包下。
所以選擇使用from modules with dependency方式。現在在Intellijartifact輸出目錄裏點擊運行發佈的jar,運行ok

運行界面如下




將剛纔的項目打包成一個jar包:

打包工具有很多,這裏選擇http://ninjacave.com/jarsplice,這個工具可以將jar包,dll文件打包成一個jar,會將多依賴的jar包解壓,dll文件直接導出。
用這個工具打包需要注意,dll文件已經導入到當前jar目錄裏,所以不用設置
2: System.setProperty("org.lwjgl.librarypath",System.getProperty("user.dir") + "/native/windows");
打包結果如下:


發佈了50 篇原創文章 · 獲贊 21 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章