2011-07-08 71 views
2

我是新來的機器人,我正在盡我所能去創建一個遊戲。我正在嘗試爲我的遊戲創建一個遊戲畫面,而我的最佳做法是爲遊戲畫面創建一個活動。但是,我不知道如何去做這件事。問題似乎是我無法在活動課以外的任何地方創建一個意圖。所以我不能看到什麼時候遊戲結束,然後創建一個新的活動,而不在活動類中。所以我很難將我的遊戲模型與我的活動課聯繫起來,這樣當玩家死亡時,就會觸發遊戲活動。我應該在我的活動課上放些什麼信息?需要遊戲活動

回答

1

你會放置代碼,如(假設你的活動是GameOverScreen extends Activity):

Intent gameOverScreen = new Intent(this, GameOverScreen.class); 
startActivity(gameOverScreen); 

要從活動外這麼做(因爲startActivity()是Activity類的公共方法),你只是做這樣,使用您的遊戲活動的情況下,我在這個例子中調用gameScreen

Intent gameOverScreen = new Intent(gameScreen, GameOverScreen.class); 
gameScreen.startActivity(gameOverScreen); 

你或許應該有存儲到模型作爲Context OB您的遊戲活動的實例的引用至少爲了資源而ject。

+0

OMG這個工作非常感謝你:d – Athos

+0

你的歡迎!請記住接受你喜歡的答案:P – Ribose

0
</activity> 
      <activity android:name=".gameoveractivity" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="name-of-activity" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

在你的Manifest.xml添加這個...

然後從代碼中調用這樣

Intent i = new Intent("name-of-activity-you-declared-in-the-manifest"); 
      this.startActivity(i); 

我想你應該在遊戲達到條件後把這個這個活動。假設失去3條生命之後,你會得到遊戲結束的活動。

如果您正在嘗試使用TRY AGAIN等遊戲。那麼你應該使用this.startActivityForResult(我,結果)。然後,重寫您通過活動調用遊戲的類中的onActivityResult()方法。

+0

但我在哪裏打電話?這必須在遊戲模型中,我不能在遊戲模型中表達意圖,只能在遊戲活動中。 – Athos

+0

你如何構建你的遊戲?遊戲應該以某種方式進入一項活動:不是模型。 – Estel

+0

從當前活動中調用它。或者切換到您認爲遊戲結束時應該被調用的活動,然後調用它。 –