1

Accelerometerを使用してゲームに実装しようとしていますが、Andengine追加しますandenginephysicsbox2dextension.jar

private PhysicsWorld mPhysicsWorld;

//--OnLoadScene()

this.mPhysicsWorld = new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH), false);

この行を実装すると、エラーが発生して実行できなくなりました。

このエラーを修正するにはどうすればよいですか?

Logcatエラー:

07-27 13:57:21.125: ERROR/AndroidRuntime(1006): FATAL EXCEPTION: main
07-27 13:57:21.125: ERROR/AndroidRuntime(1006): java.lang.ExceptionInInitializerError
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at Org.Demo.PixelPerfectTest.onLoadScene(PixelPerfectTest.java:223)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at org.anddev.andengine.ui.activity.BaseGameActivity.doResume(BaseGameActivity.java:158)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at org.anddev.andengine.ui.activity.BaseGameActivity.onWindowFocusChanged(BaseGameActivity.java:82)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onWindowFocusChanged(PhoneWindow.java:2152)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at android.view.View.dispatchWindowFocusChanged(View.java:4691)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:752)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at android.view.ViewRoot.handleMessage(ViewRoot.java:2102)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at android.os.Looper.loop(Looper.java:132)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at android.app.ActivityThread.main(ActivityThread.java:4025)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at java.lang.reflect.Method.invokeNative(Native Method)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at java.lang.reflect.Method.invoke(Method.java:491)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at dalvik.system.NativeStart.main(Native Method)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load andenginephysicsbox2dextension: findLibrary returned null
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at java.lang.Runtime.loadLibrary(Runtime.java:425)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at java.lang.System.loadLibrary(System.java:554)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     at org.anddev.andengine.extension.physics.box2d.PhysicsWorld.<clinit>(PhysicsWorld.java:30)
07-27 13:57:21.125: ERROR/AndroidRuntime(1006):     ... 15 more
4

4 に答える 4

4

libsに.soファイルを含め、プロジェクトプロパティを介して.jarファイルを追加する必要があります。2つの.soファイルには2つのバージョン(arneabuとarmeabi-v7a)があります...どちらが最新かわかりません。それらをライブラリに入れて、ビルドパスを更新してください。

次に、まだ行っていない場合は、Eclipseでプロジェクトプロパティをプルアップして、関連する.jarファイルが含まれていることを確認します。次に、Eclipseをロードせずに(このPOSラップトップを過度に停止させないように、このブラウザーを強制終了する必要があります)、ビルドパスの下にあると99%確信しています。「外部JARを追加する」オプションが表示されます。それを選択し、必要なjarファイルを追加します。

どうやら、私が読んだスレッドに基づいて、.so libsを忘れることはやや一般的な間違いです(私も犯したものです!)。

これで、アプリがライブ壁紙の場合、AndEngineの物理特性に問題があると予想されます。問題を抱えている人やバグ修正を探している人などについての投稿をたくさん読みました。

AndEngineフォーラムで、まさにその問題について未解決の質問があります。物理学および物理学ベース(物理学/化学:バックミンスターフラーレン)、およびAndEngineの物理学コード)LWPアプリで、タッチイベントまたは加速度計をまったく機能させることができません。私は基本的にレンガの壁にぶつかり、追加した最新の更新への応答を受け取るまで(そしてIF )前に進むのは無意味になります。

お役に立てれば....

後で、
   -jim

于 2011-07-30T03:48:09.140 に答える
2

この行に注意してください:

07-27 13:57:21.125: ERROR/AndroidRuntime(1006): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load andenginephysicsbox2dextension: findLibrary returned null

ビルドパスの設定を確認します。必要なライブラリ/拡張機能を無視している可能性がありますか?あなたが提供する情報によって、そして私がそのライブラリを使用したことがないことを考えると。たぶん、ビルドパスにPhysicsBox2D拡張機能を追加する必要があります。

よろしく。

于 2011-07-27T09:18:05.153 に答える
0

GTBrewer。physicsbox2dプロジェクトでネイティブライブラリをビルドするだけです。次に、物理プロジェクトからライブ壁紙プロジェクトへのcp-r./libs。更新してproject->cleanからビルドします。ビオラ!

于 2012-03-28T23:35:26.330 に答える
0

プロジェクトが.soファイルを無視しているため。あなたはここで私の答えに従うことができますhttps://stackoverflow.com/a/34068202/2026280

また

その非常に簡単です。この簡単な手順に従ってください

1)メインアプリのlibsフォルダー内に「lib」という新しいフォルダーを作成します。

2)andEnginePhysicsBox2DExtension / libsフォルダーからすべてのフォルダー(すなわち、armabi、armabi-v7aなど)をコピーし、メインアプリで以前に作成した「lib」フォルダーに貼り付けます。

3)次に、 「lib」フォルダーを「lib.zip」として圧縮し、名前を lib.jar」に変更します。これにより、zip拡張子がjarに変更されます。

4)最後に行を追加します-メインアプリのBuild.gradleファイルのdependencies {}の下にfiles('lib.jar')をコンパイルします

5)プロジェクトをクリーンアップしてビルドします。

于 2015-12-03T14:19:36.710 に答える