2011-07-08 46 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

从当前活动中调用它。或者切换到您认为游戏结束时应该被调用的活动,然后调用它。 –