tiledmappacker jar-在tiledmappacker工具中调用libgdx的Gdx类的静态对象为null的问题

问题描述

在tiledmappacker工具中调用libgdx的Gdx类的静态对象为null的问题

1、问题由来
最近在学习libgdx(使用libgdx0.9.9),使用地图打包工具tiledmappacker.jar时报错。
实在没有办法,找到网上的一位兄台发的一篇贴子(链接如下)

libgdx的tmx地图处理工具gdx-tiled-preprocessor.jar(TiledMapPacker)修正版  http://www.cnblogs.com/SkyD/archive/2012/04/19/2457237.html

试着自己生成tiledmappacker.jar,但是运行还是有相同的错误,开始以为版本问题,不过看了代码后发现不是。最后实在没招了,把gdx-source.jar包解开,试着修改,但是最后还是没有解决问题。

2、问题现象

Gdx.gl.glGenTextures(1, buffer2);

  在执行上面这句代码时, Gdx.gl对象为null,检查Gdx的其他成员变量graphics,audio等, 也全部为null。可是Gdx类并没有改动过,一直是按libgdx的原来代码。后来我直接在main函数中调用Gdx的静态对象,也是同样问题。具体出现的异常如下:

Thread [main] (Suspended (exception NullPointerException))
Texture.createGLHandle() line: 166
Texture.create(TextureData) line: 158
Texture.<init>(FileHandle, Pixmap$Format, boolean) line: 133
Texture.<init>(FileHandle, boolean) line: 126
TmxMapLoader.load(String, TmxMapLoader$Parameters) line: 109
TmxMapLoader.load(String) line: 91
TiledMapPacker.processMaps(File, File, TexturePacker2$Settings) line: 155
Main.main(String[]) line: 37

(说明一下,gdx.jar,gdx-natives.jar.....等相关包已经正常添加并引用了,当然,最后gdx.jar已经删除换成代码了。)  
  
3、附libgdx中的Gdx.java

package com.badlogic.gdx;

import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.GL11;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.GLCommon;

public class Gdx {
public static Application app;
public static Graphics graphics;
public static Audio audio;
public static Input input;
public static Files files;
public static Net net;

public static GLCommon gl;
public static GL10 gl10;
public static GL11 gl11;
public static GL20 gl20;

}

最后,请大家帮忙看看是什么原因引起的,在此先谢谢大家!

解决方案

新版的libgdx不用将地图打包了,直接使用即可。

时间: 2024-10-26 01:46:22

tiledmappacker jar-在tiledmappacker工具中调用libgdx的Gdx类的静态对象为null的问题的相关文章

在asp/asp.net中调用java写的类

asp.net|asp.net 在开发过程中偶尔会遇到要在ASP/ASP.Net中调用JAVA写的类,以实现之前已经用JAVA实现的功能,下面就以一个简单示例说明详细的使用方法: 1.创建java文件:使用任何你喜欢的编辑器编辑以下内容:public class hello{ public String helloWorld(String s) { if(s == null) return ""; else return s; }}将此文件保存为hello.java 2.编译java文

vs2012-VS项目重命名工具中出现错误,未将对象引用到对象的实例

问题描述 VS项目重命名工具中出现错误,未将对象引用到对象的实例 用VS项目重命名工具时,没用可以选择的项目名,按下执行重命名后弹出个窗口,显示应用程序出现了无法处理的异常,未将对象引用到对象的实例 解决方案 你没有把问题描述清楚.乱!我想你在组织一下语言,我觉得会好一点. 解决方案二: 是不是vs安装的问题?问题描述不清啊

Android下编译自己的库文件jar并在应用中调用

http://hi.baidu.com/gaogaf/item/cef2285e2372bb444fff2046

eclipse-Eclipse 在工程A中调用B的文件出错

问题描述 Eclipse 在工程A中调用B的文件出错 我工程A想调用工程B的文件,我是如下配置的:A工程右键->configure build path ->projects选择添加B工程.然后我直接在A中调用工程B的类(是在一个按钮中调用的).项目没有报错,编译也可以过,可以当我APP安装后,点击这个调用了B类的按钮就会出错.错误如下 Could not execute method of the activity 09-16 16:00:39.629: E/MyUncaughtHandle

JSP中调用java类,系统找不到指定文件

问题描述 JSP页面中调用后台的java类,java类中想读取某个路径的文件,但是系统提示找不到指定的路径我大概知道估计是Web页面通过tomcat服务器后路径问题但不知道怎么解决而且调用的这个java类是个普通类不是servlet,不用request希望高手帮小弟解决一下JSP:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%&

在c#中调用另一个应用程序或命令行(.exe 带参数)

在.net中使用system.diaglostics.Process可以用来调用另一个命令行或程序. using System.Diagnostics; 如果是dos Process.Start("cmd.exe"); 如果是其他文件 Process.Start("绝对路径+文件名.exe"); ------------------------------------ 如何在c#中调用外部dos程序? 使用Process对象: System.Diagnostics.

web-仅在类定义上有 [ScriptService] 特性的 Web 服务才能从脚本中调用。

问题描述 仅在类定义上有 [ScriptService] 特性的 Web 服务才能从脚本中调用. 仅在类定义上有 [ScriptService] 特性的 Web 服务才能从脚本中调用. 解决方案 在.net3.5中,访问web服务,要对web服务添加修饰:[System.Web.Script.Services.ScriptService] 否则,当.ajax()请求服务时,会有异常:只能从脚本中调用在类定义上有[ScriptService]属性的 Web 服务 解决方案二: 在你的方法前面加上[

mfc-LabView中调用MFC-Wizard生成的DLL实现自定义文件对话框功能出错

问题描述 LabView中调用MFC-Wizard生成的DLL实现自定义文件对话框功能出错 VC创建MFC-Wizard生成的Dll,在导出函数MyFileOpen中调用由CFileDialog派生类CMyFileDlg实现自定义文件对话框.再在LabView中引用库函数节点调用MFC生成的DLL,输入输出参数设置输入类型int32.输出为C字符串指针即为文件对话框返回的选中目标文件路径. 如上配置完成后,运行弹出1097错误,用error_out屏蔽后,返回路径没有输出结果.DLL调试执行My

maven web工程中调用依赖的jar包内的自定义XX.xml文件 报FileNotFoundException异常

问题描述 现有一mavenweb工程,在web工程中依赖2个maven普通工程,用的是JBoss部署有A,B两个普通的maven工程,C是mavenweb工程.其中A工程中有个自定义的Data.xml文件.在maven工程B中,我依赖A工程(A工程打成jar包后,在B工程中的pom中引用了,A工程中放的是property文件和xml文件等resource文件),在B工程中有个解析A工程下的Data.xml的工具类,用getResource("/Data.xml")再newFile(fi