JMonkeyEngine3——修复SDK3.3.x之后的NiftyGui编辑器

概况

SDK集成了NiftyGui可视化工具,但是自从SDK3.1.0之后,一直存在打开奔溃问题,本人基于最新代码进行了修复。

相关步骤

首先打开SDK3.3.x版本(注意这是为3.3.x版本修复的,3.2.x版本使用netbean8之前的版本,与这里不兼容),依次打开Tools->Plugins->Installed,搜索NiftyGui,点击卸载:

 然后立即重启,此时查看下以下这几个目录:

YourInstallDir\jmonkeyplatform\jmonkeyplatform\modules\下是否存在com-jme3-gde-gui.jar,有则手动删除;

YourInstallDir\jmonkeyplatform\jmonkeyplatform\modules\ext\下是否存在Nifty-Editor0.5.7.jar(或其他版本),nifty-1.4.x.jar(x表示任意版本,比如nifty-1.4.1.jar,nifty-1.4.2.jar,nifty-1.4.3.jar),nifty-default-controls-1.4.x.jar,nifty-style-black-1.4.x.jar,nifty-java2d-renderer-1.4.x-SNAPSHOT.jar,如果存在则把这些全部删除(记得关闭SDK,否则删除会有问题)。

注意:必须先进行插件卸载再进行删除.jar,不能先删除.jar再进行插件卸载,否在会有问题(得重新安装SDK)。

然后下载如下插件:

 

链接:https://pan.baidu.com/s/173tiCY_JNs-moRkEdgMRnQ
提取码:9y2b

然后依次点击Tools->Plugins->Downloaded,添加下载的插件并安装:

 然后立即重启SDK。

注意:如果提示无法安装,则打开SDK,选择Help->About,把这个Cache目录删掉:

 然后重启sdk重新安装插件即可。

对于3.6.x版本,默认使用JDK17,由于NiftyGui插件使用了反射功能,而JDK17出于某种原因会报错:

 此时找到SDK安装目录YourInstallFile\jmonkeyplatform\etc\jmonkeyplatform.conf,在如下default_options=中加入如下VM参数:

 注意前后都有空格,或者直接复制我的修改:

1 default_options="--branding jmonkeyplatform -J-Dsun.java2d.noddraw=true -J--add-opens=java.base/java.lang=ALL-UNNAMED -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-opens=java.base/java.security=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED -J--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED -J--add-exports=java.desktop/com.apple.eio=ALL-UNNAMED"

测试SDKNiftyGui编辑器

启动SDK后,创建一个JME3工程,然后展开Project Assets,在你想要的目录(通常GUI文件放在Interface)右键New->Other..->GUI->Empty Gui:

 然后在xml界面随便打个属性,会出现代码提示:

 然后切换到Visual(设计器)界面,可以看到可视化编辑器:

 导航栏只有在鼠标焦点选中HelloNiftyGui.xml文件或打开HelloNiftyGui.xml并焦距在编辑页面时,才可以看到Gui View导航栏实际内容:

 切换后:

 然后从Palette哪里随便拖个控件到设计器中:

 可以看到一切正常工作。

后续

关于SDK Gui编辑器更详细的用法和相关bug,在后面的文章会详细介绍。

posted @ 2024-07-17 11:48  JhonKkk  阅读(52)  评论(0)    收藏  举报