我想從菜單啓動遊戲。在Eclipse中,我有兩個項目,一個是菜單,另一個是實際的遊戲。兩者都使用SimpleBaseGameActivity作爲它們的基礎。網上的例子做了如下的事情。特別是,它創建了一個意圖,並以該意圖開始一項活動。下面的代碼給出了MyGame.class上的NoClassDefFoundError。這並不奇怪,因爲MyGame.class不存在,而是MyGame.apk。我該怎麼做呢?andengine從菜單啓動遊戲
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;
-----編輯
我找到了工作,一切在一個項目中,在被點擊的菜單項時,隨後的比賽開始。但是,當單擊「後退箭頭」時,它不會返回到菜單,而是返回到操作系統。清單文件中的活動定義如下。這看起來是否正確?
<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,但它不會被調用:
@覆蓋 保護無效onActivityResult(INT requestCode,INT resultCode爲,意圖數據){}
---編輯 我需要刪除此行: MainActivity.this.finish();
閱讀此鏈接,它設置父級活動。所以父母的活動將成爲菜單,因爲遊戲(孩子)會上升到父母。是我在父項目還是子項目中編輯的清單文件? – numberwang