无法在Windows 7中运行andengine
我尝试使用andeninge进行小游戏。它在Window XP系统中工作。同一个项目,如果我导入或使用andeninge我得到的运行时间错误,如无法在Windows 7中运行andengine
07-25 17:34:43.854: E/AndroidRuntime(280): FATAL EXCEPTION: main
07-25 17:34:43.854: E/AndroidRuntime(280): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.m2f/com.m2f.AndengineActivity}: java.lang.NullPointerException
07-25 17:34:43.854: E/AndroidRuntime(280): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
07-25 17:34:43.854: E/AndroidRuntime(280): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-25 17:34:43.854: E/AndroidRuntime(280): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-25 17:34:43.854: E/AndroidRuntime(280): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-25 17:34:43.854: E/AndroidRuntime(280): at android.os.Handler.dispatchMessage(Handler.java:99)
07-25 17:34:43.854: E/AndroidRuntime(280): at android.os.Looper.loop(Looper.java:123)
07-25 17:34:43.854: E/AndroidRuntime(280): at android.app.ActivityThread.main(ActivityThread.java:4627)
07-25 17:34:43.854: E/AndroidRuntime(280): at java.lang.reflect.Method.invokeNative(Native Method)
07-25 17:34:43.854: E/AndroidRuntime(280): at java.lang.reflect.Method.invoke(Method.java:521)
07-25 17:34:43.854: E/AndroidRuntime(280): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-25 17:34:43.854: E/AndroidRuntime(280): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-25 17:34:43.854: E/AndroidRuntime(280): at dalvik.system.NativeStart.main(Native Method)
07-25 17:34:43.854: E/AndroidRuntime(280): Caused by: java.lang.NullPointerException
07-25 17:34:43.854: E/AndroidRuntime(280): at org.anddev.andengine.ui.activity.BaseGameActivity.onCreate(BaseGameActivity.java:50)
07-25 17:34:43.854: E/AndroidRuntime(280): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-25 17:34:43.854: E/AndroidRuntime(280): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
示例代码创建一个新项目:
public class DemoGame1 extends BaseGameActivity {
@Override
public void onLoadComplete() {
// TODO Auto-generated method stub
}
@Override
public Engine onLoadEngine() {
// TODO Auto-generated method stub
return null;
}
@Override
public void onLoadResources() {
// TODO Auto-generated method stub
}
@Override
public Scene onLoadScene() {
// TODO Auto-generated method stub
return null;
}
}
而Android应用程序工作正常(它打印的HelloWorld )。
我有一个运行在3个不同的Win7机器上的andengine。我不认为操作系统是问题。你可以发布你的游戏Activity类的构造函数吗,这样我们就可以看到问题的原因是什么?另外 - 你使用GLES2还是GLES1?
==更新==
好的 - 问题很简单。您不会在onLoadEngine函数中返回引擎。你正在返回null。所以当游戏试图启动它时,会调用一个空对象的方法。总之 - 你的演示游戏并不足以工作。
至少你必须定义一个引擎和一个摄像头。我希望你也会需要一个场景,因为没有它就不会呈现任何东西。
然后要真正看到屏幕上的东西,你需要在onLoadResources中加载一些纹理,并在onLoadScene中创建至少一个场景和一些精灵。
我推荐下载Andengine Examples源代码,并查看MovingBallExample.java作为引擎的“Hello World”。它非常简单。
对于GL版本,您正在使用其中一种。这个引擎库有两个主要版本,非正式地被称为GLES1和GLES2。如果你最近从github获得代码,你有GLES2。
您使用的是相同版本的eclipse吗? Android SDK的相同版本? API级别的Adt-plugin?版本? GLES 2.0?同一版本的AndEngine?
检查所有的版本,并确保他们是最后的和/或它们之间兼容的平台状的工具和ADT-插件
没有使用任何的Open GL .. – JohnRaja 2012-07-26 07:23:25
感谢您的更新:我的回复在上面编辑。 – 2012-07-26 21:00:49
谢谢..解决这个问题 – JohnRaja 2012-07-27 04:46:12