2011-07-08 19 views
2

私はアンドロイドが新しく、ゲームを作成するために最善を尽くしています。私は自分のゲーム用のゲームオーバー画面を作成しようとしていますが、そのための最善の方法はゲームオーバー画面用のアクティビティを作成することでした。しかし、私はこのことについてどうやって行くのか分かりません。問題は、私がアクティビティクラス以外のどこにも意図を作成できないように思われます。だから、ゲームがいつ終わるべきか分かりませんし、アクティビティクラスに入れずに新しいアクティビティを作ります。だから私は自分のゲームクラスを自分のアクティビティクラスに接続するのに問題があります。プレイヤーが死んでしまうと、ゲームオーバーのアクティビティが発生します。私のアクティビティクラスのどこにこの情報を入れるべきですか?ゲームオーバーアクティビティが必要

答えて

1

(あなたの活動を想定したがGameOverScreen extends Activityです):(startActivity()はActivityクラスのパブリックメソッドであるため)

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

が活動外部からこれを行うには、あなただけやるだろうこのように、私はこの例ではgameScreenを呼び出して、あなたのゲームアクティビティのインスタンスを使用して:

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

おそらくContext OBとしてモデルに保存されているゲームのアクティビティのインスタンスへの参照を持つべきです少なくともリソースのために。

+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(i、result)を使うべきです。そして、あなたはアクティビティの上でゲームを呼び出すクラスからonActivityResult()メソッドをオーバーライドします。

次のようなコードを配置します
+0

しかし、私はそれをどこで呼びますか?それはgameModelになければなりません。ゲームの中でのみ、ゲームモデルでインテントを作ることはできません。 – Athos

+0

あなたのゲームはどのように構成されていますか?ゲームは、何らかの形で、またはアクティビティの内部にあるべきであり、モデルではありません。 – Estel

+0

現在のアクティビティから呼び出します。または、ゲームオーバーを呼び出して呼び出す必要があると思われるアクティビティに切り替えます。 –