私は単純なゲームを作りたいと思います。私はandengineを使いたいです。Andengine Demo Nullpointer
だから私は、このコードでライブラリをテストすることを決めた:
public class PrisonBreakActivity extends BaseGameActivity {
private ZoomCamera mCamera;
private BitmapTextureAtlas mTexture;
private TextureRegion mFaceTextureRegion;
private Scene mScene;
private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
/** Called when the activity is first created. */
@Override
public Engine onLoadEngine() {
// TODO Auto-generated method stub
return null;
}
@Override
public void onLoadResources() {
this.mTexture = new BitmapTextureAtlas(64, 64, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
this.mFaceTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mTexture, this, "gfx/man.png", 0, 0);
this.mEngine.getTextureManager().loadTexture(this.mTexture);
}
@Override
public Scene onLoadScene() {
this.mEngine.registerUpdateHandler(new FPSLogger());
this.mScene = new Scene();
this.mScene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f));
this.mScene.setOnSceneTouchListener(new IOnSceneTouchListener() {
@Override
public boolean onSceneTouchEvent(Scene pScene,
TouchEvent pSceneTouchEvent) {
// TODO Auto-generated method stub
if(pSceneTouchEvent.isActionDown()) {
PrisonBreakActivity.this.loadNewTexture();
}
return true;
}
});
return this.mScene;
}
@Override
public void onLoadComplete() {
// TODO Auto-generated method stub
}
private void loadNewTexture() {
MathUtils mu = new MathUtils();
//final TextureRegion faceTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mTexture, this, "gfx/man.png", 0, 0);
final float x = (CAMERA_WIDTH - mFaceTextureRegion.getWidth()) * mu.RANDOM.nextFloat();
final float y = (CAMERA_HEIGHT - mFaceTextureRegion.getHeight()) * mu.RANDOM.nextFloat();
final Sprite clickToUnload = new Sprite(x, y, mFaceTextureRegion);
this.mScene.attachChild(clickToUnload);
}
}
私はオールウェイズライブラリ(BaseGameActivity)でNullPointerExceptionが得られます。 画像man.pngは/ asset/gfx /にあります。
GameBaseActivity (from Andengine, Error in applyEngineOptions):
@Override
protected void onCreate(final Bundle pSavedInstanceState) {
super.onCreate(pSavedInstanceState);
this.mPaused = true;
this.mEngine = this.onLoadEngine();
this.applyEngineOptions(this.mEngine.getEngineOptions());
this.onSetContentView();
}
エラー:
04-03 16:22:27.238: E/AndroidRuntime(425): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
04-03 16:22:27.238: E/AndroidRuntime(425): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-03 16:22:27.238: E/AndroidRuntime(425): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 04-03 16:22:27.238: E/AndroidRuntime(425): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-03 16:22:27.238: E/AndroidRuntime(425): at android.os.Handler.dispatchMessage(Handler.java:99) 04-03 16:22:27.238: E/AndroidRuntime(425): at android.os.Looper.loop(Looper.java:123) 04-03 16:22:27.238: E/AndroidRuntime(425): at android.app.ActivityThread.main(ActivityThread.java:4627) 04-03 16:22:27.238: E/AndroidRuntime(425): at java.lang.reflect.Method.invokeNative(Native Method) 04-03 16:22:27.238: E/AndroidRuntime(425): at java.lang.reflect.Method.invoke(Method.java:521) 04-03 16:22:27.238: E/AndroidRuntime(425): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 04-03 16:22:27.238: E/AndroidRuntime(425): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 04-03 16:22:27.238: E/AndroidRuntime(425): at dalvik.system.NativeStart.main(Native Method) 04-03 16:22:27.238: E/AndroidRuntime(425): Caused by: java.lang.NullPointerException 04-03 16:22:27.238: E/AndroidRuntime(425): at org.anddev.andengine.ui.activity.BaseGameActivity.onCreate(BaseGameActivity.java:65) 04-03 16:22:27.238: E/AndroidRuntime(425): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 04-03 16:22:27.238: E/AndroidRuntime(425): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
助けてください。
あなたのNULLポインタがクラスBaseGameActivityから来ているし。投稿したコードは、エラーを投げているものではありません。 logcat 'の行:org.anddev.andengine.ui.activity.BaseGameActivity.onCreate(BaseGameActivity.java:65)のjava.lang.NullPointerExceptionは、どこを探すべきかを示すヒントです。 BaseGameActivity – dymmeh
の行65を見てください。私はフレームワークを使用しており、標準クラス(ビルドしていない)を使用していますので、エラーが発生しています。 – user547995
Logcatの出力によると、枠組み。したがって、フレームワークにバグがあるか、クラスのステップが足りないため、基本クラスを正しく設定することができません。 – dymmeh