2016-06-15 12 views
4

私はAndroidで開発したばかりです。学校のプロジェクトのために、私は現在、子供たちが書くことを学ぶのを手助けするための申請に取り組んでいます。
同じ概念を使用する多くのレベルがアプリに含まれ、背景のみが変更されます。私はうまく動作し、作業を終了するレベルを作った、私は最初のコードを使用してレベルを追加したい。Android - ゲームのレベルを整理する

これを行うにはどうすればよいでしょうか?

レベルと同じくらい多くのアクティビティを作成できると思いました。それぞれの新しいアクティビティで、最初のアクティビティを開始し、新しい背景をパラメータとして渡すことができました。しかし、50以上のレベルでは、それほど多くの活動をするのはちょっと奇妙なようです。

はあなたの助けをありがとう:)

答えて

1

あなたが断片を使用することができ、それぞれのレベルが異なるようにあなたがそれに渡すことができますいくつかの引数を持つことになります「LevelFragment」と呼ばれる断片の特に1種類、これらの引数は、レベルの内容(背景など)を参照する必要があります。この方法では同じレイアウトと同じロジックを再利用しています。あなたが持っている引数に基づいて動作を変更するだけです。

これで、1つのアクティビティにとどまりながら、コンテナ内のフラグメントを交換するだけで済みます。あなたの質問はあまり漠然としているので、この時点で実装のヒントを提供することはできませんが、むしろ基本的なガイドラインと考慮する方向です。

+0

この明快で速い答えがありがとう、それはまさに私が探していたものです:) – JoanSivion

+0

あなたは大歓迎です!これを行うためには断片についてもう少し学ぶべきですが、これはまったく難しいことではありません。コーディング仲間をお楽しみください! – Vucko

1

コードの集中化のために他のすべてのアクティビティから拡張されるBaseActivityを使用できます。それ以外の場合は、常に同じアクティビティを使用してインテントのパラメータ(たとえばレベル番号)で開始し、パラメータ値に従って独自のロジックを作成できます。最後に、断片にも見せて、中央のロジックを同じアクティビティに保つことができます。

1

フラグメントはあなたのソリューションです。単にバックグラウンドアセット名を渡すことができます(インテントをスローする)。

2

すべてのレベルの変更がトリガーになる場合は、レベルメンバ変数をアクティビティに追加して(たとえば)バックグラウンドを変更するために次のレベルを待機します。あなたがバックグラウンド以上に変化しなければならないことが判明した場合、@ Vuckoの答えは実行可能に見えます。

50の異なるアクティビティで同じコードを50回繰り返してはいけません。

関連する問題