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");
打包结果如下:

j2me游戏开发之LWJGL(Lightweight Java Game Library)相关推荐

  1. JAVA游戏开发之FPS精准控制

    目录 JAVA游戏开发之FPS精准控制... 1 1       概述... 2 1.1        编写目的... 3 2       FPS精准控制... 3 2.1        FPS描述. ...

  2. [转载]J2ME无线开发之MIDlet的部署

    J2ME无线开发之MIDlet的部署 开始之前 这份教程带您了解各种 MIDlet 部署方法.在阅读教程之前,您应该具有 Java™ 2 Platform,Micro Edition(J2ME)的基本 ...

  3. [整理]Unity3D游戏开发之Lua

    原文1:[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上) 各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我地博客地址是blog.csdn.net/qinyuanpei.如果 ...

  4. libGDX游戏开发之Box2D(十四)

    libGDX游戏开发之Box2D(十四) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网和goo ...

  5. 开发中的“软”与“硬”:高画质移动游戏开发之道

    摘要:游戏的效果不仅与游戏引擎的渲染相关,与硬件优化也有千丝万缕的联系.一款基于芯片优化的移动游戏界面,甚至可以堪比视频游戏的视觉效果.高通半导体事业部资深经理刘晓光从软硬件两个层面分享了移动游戏开发 ...

  6. DirectX游戏开发之3D角色动起(下)

    DirectX游戏开发之3D角色动起(下) 直接先上图吧! 动作idle 动作attack 动作walk 动作run 看,多动作的模型搞下来了.原则上只要在此基础上略做修改就可以实现3d游戏的基本制作 ...

  7. 游戏开发之U3D实现技能图标冷却的效果

    游戏开发之U3D实现技能图标冷却的效果 --本次使用的NGUI插件.     制作思路:NGUI插件里面有个UISprite组件,在它上面有个属性叫Type,改变相应的Type类型有不同的作用,本次使 ...

  8. DirectX游戏开发之2D文字的实现

    DirectX游戏开发之2D文字的实现 文字是承载信息最有效的载体之一,各种游戏程序都离不开文字的显示.对于3D文字来说,2D文字有其渲染的高效性和实现的简洁性. 2D文字的显示无论在写2D游戏还是在 ...

  9. 游戏开发之U3D插件EasyTouch5.x使用

               游戏开发之U3D插件EasyTouch5.x使用 本篇只讲EasyTouch5.x的使用,不讲源码.本来想把EasyTouch5.x的使用手册翻译一遍,想来也是没那个时间. 第一 ...

最新文章

  1. 信息系统项目管理知识--云计算
  2. C语言函数题-两对儿参数的交换
  3. 电脑提示找不到宽带连接怎么办
  4. 字节跳动专家会_年薪30万60万!字节跳动招这个语系的语言专家!
  5. pytorch_GPU安装
  6. iWebOffice2009问题
  7. 深入浅出的模型压缩:你一定从未见过如此通俗易懂的Slimming操作
  8. 考勤系统的软件上位机设计
  9. 英语听力训练常采用的方法
  10. OSChina 周六乱弹 ——劳动节仍然在劳动,情人节却没有情人。
  11. 支付宝 ECSHOP 支付接口 PHP
  12. 撤销前进快捷键_「撤销快捷键」excel表格撤销快捷键是什么_ctrl+z是吗 - seo实验室...
  13. 用计算机弹霜雪千年,霜雪千年(完整版)-双笙-和弦谱-《弹吧》官网tan8.com-和弦谱大全,学吉他,秀吉他...
  14. blender 2.8的基本使用和使用形态键(Shape key)做帧动画
  15. 3种方式获取Wifi名称 兼容获取Wifi名字为空 WifiInfo.getSSID为空的情况
  16. python 简单的Http服务器
  17. icmp回复报文_如果目标主机阻塞了,ICMP回显请求报文,我们可以
  18. 几组数据的相关性python_几的解釋|几的意思|漢典“几”字的基本解釋
  19. iphone 刷机遇到的一些名词解释
  20. puppeteer爬取豌豆荚数据

热门文章

  1. 大部分有高学历的人比低学历的人强
  2. 视频分割算法在移动端如何应用
  3. 4x root 红米_红米Note 4X root教程 红米Note4X获取root权限的方法
  4. 手机(局域网)远程连接 windows电脑
  5. 铰削和铰刀的基本概念
  6. 计算机word保存如何操作,电脑word怎么保存 在电脑上word打字怎么保存
  7. Crackme之Acid burn.exe
  8. docker 进入容器方法
  9. python 字符串转ASCII码
  10. 王爽版汇编语言实验7 寻址方式在结构化数据访问中的应用