2012-07-25 93 views
0

我嘗試使用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 )。

回答

1

我有一個運行在3個不同的Win7機器上的andengine。我不認爲操作系統是問題。你可以發佈你的遊戲Activity類的構造函數嗎,這樣我們就可以看到問題的原因是什麼?另外 - 你使用GLES2還是GLES1?

==更新==

好的 - 問題很簡單。您不會在onLoadEngine函數中返回引擎。你正在返回null。所以當遊戲試圖啓動它時,會調用一個空對象的方法。總之 - 你的演示遊戲並不足以工作。

至少你必須定義一個引擎和一個攝像頭。我希望你也會需要一個場景,因爲沒有它就不會呈現任何東西。

然後要真正看到屏幕上的東西,你需要在onLoadResources中加載一些紋理,並在onLoadScene中創建至少一個場景和一些精靈。

我推薦下載Andengine Examples源代碼,並查看MovingBallExample.java作爲引擎的「Hello World」。它非常簡單。

對於GL版本,您正在使用其中一種。這個引擎庫有兩個主要版本,非正式地被稱爲GLES1和GLES2。如果你最近從github獲得代碼,你有GLES2。

+0

沒有使用任何的Open GL .. – JohnRaja 2012-07-26 07:23:25

+0

感謝您的更新:我的回覆在上面編輯。 – 2012-07-26 21:00:49

+0

謝謝..解決這個問題 – JohnRaja 2012-07-27 04:46:12

0

您使用的是相同版本的eclipse嗎? Android SDK的相同版本? API級別的Adt-plugin?版本? GLES 2.0?同一版本的AndEngine?

檢查所有的版本,並確保他們是最後的和/或它們之間兼容的平臺狀的工具和ADT-插件

相關問題