メニューからゲームを開始したい。Eclipse には 2 つのプロジェクトがあり、1 つはメニュー、もう 1 つは実際のゲームです。どちらもSimpleBaseGameActivity
ベースとして使用しています。ネット上の例は、以下のようなことをします。具体的には、インテントを作成し、そのインテントでアクティビティを開始します。以下のコードはNoClassDefFoundError
onを与えMyGame.class
ます。MyGame.class
存在しないため、これは当然のことですが、むしろ存在MyGame.apk
します。どうすればいいですか?
public boolean onMenuItemClicked(final MenuScene pMenuScene,
final IMenuItem pMenuItem,
final float pMenuItemLocalX,
final float pMenuItemLocalY) {
switch(pMenuItem.getID()) {
case MENU_PLAY:
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
Intent intent = new Intent(getApplication(), MyGame.class);
startActivity(intent);
finish();
}
});
return true;
}
}
- - - 編集
menu item
クリックするとゲームが開始されるという点で、すべてが 1 つのプロジェクトで動作しています。ただし、「戻る矢印」をクリックすると、 に戻らずmenu
、オペレーティング システムに戻ります。ファイル内のアクティビティ定義は次のmanifest
とおりです。これは正しく見えますか?
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.mygame.MyGame"
android:label="@string/mygame_activity"
android:parentActivityName="com.menu.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.menu.MainActivity" />
</activity>
これを に追加しましたMyGame
が、呼び出されません:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
--- 編集 この行を削除する必要がありました:
MainActivity.this.finish();