需要游戏活动

时间:2011-07-08 19:37:50

标签: android android-activity android-intent

我是android的新手,我正在努力创造一款游戏。我正在尝试为我的游戏创建一个游戏切换屏幕,而我最好的方法是为游戏画面创建一个活动。但是,我不知道该怎么做。问题似乎是我不能在活动类以外的任何地方创建一个意图。所以我无法看到游戏何时结束,然后创建一个新的活动,而不是在活动类中。因此,我无法将我的游戏模型连接到我的活动类,因此当玩家死亡时,它会触发游戏活动。我的活动课应该在哪里提供这些信息?

2 个答案:

答案 0 :(得分: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对象,至少对于资源而言。

答案 1 :(得分: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条生命之后,你会让游戏过度活动。

如果你正在玩游戏,比如再试一次。然后你应该使用this.startActivityForResult(i,result)。然后,覆盖类中的onActivityResult()方法,从而通过活动调用游戏。