私はAndroid / Javaが初めてです。シンプルなオープン ソースの Android ゲームを変更したいと考えています。実際の例を使ってプログラミングを学ぶ方がはるかに簡単です。
目標: ゲームが次のレベルに進むとき、またはプレーヤーが新しいゲームを開始するときに、ランダムな背景を生成したいと考えています。
既に:ユーザーがアプリケーションを起動しているときにランダムな背景を生成する方法を見つけ、次のコードを置き換えました。
mBackgroundOrig =
BitmapFactory.decodeResource(res, R.drawable.background, options);
と:
TypedArray imgs = getResources().obtainTypedArray(R.array.random_background);
Random rand = new Random();
int rndInt = rand.nextInt(imgs.length());
int resID = imgs.getResourceId(rndInt, 0);
mBackgroundOrig = BitmapFactory.decodeResource(res, randBackground.resID, options);
そして、 values/rand_bkgnd.xmlに文字列配列を含む XML ファイルを作成します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="random_background">
<item name="background_01">@drawable/background01</item>
<item name="background_02">@drawable/background02</item>
<item name="background_03">@drawable/background03</item>
<item name="background_04">@drawable/background04</item>
<item name="background_05">@drawable/background05</item>
<item name="background_06">@drawable/background06</item>
<item name="background_07">@drawable/background07</item>
<item name="background_08">@drawable/background08</item>
<item name="background_09">@drawable/background09</item>
<item name="background_10">@drawable/background10</item>
</string-array>
</resources>
リクエスト:上記のランダム化バックグラウンド コードを使用してメソッドを作成するのを手伝ってください。このコードを別の Java ファイルに入れ、プレーヤーが 1 つのレベルを終了して次のレベルに進むときに、goToNextLevel()メソッドから呼び出すことができるようにしたいと考えています。
public void goToNextLevel() {
SharedPreferences sp =this.mContext.getSharedPreferences(
BubbleShooterActivity.PREFS_NAME, Context.MODE_PRIVATE);
currentLevel = sp.getInt(BubbleShooterActivity.PREFS_LEVEL_KEY_NAME, 0);
int maxLevel = sp.getInt(BubbleShooterActivity.PREFS_UNLOCK_LEVEL_KEY_NAME, 0);
currentLevel++;
if(maxLevel<=currentLevel){
maxLevel=currentLevel;
}
sp.edit().putInt(BubbleShooterActivity.PREFS_LEVEL_KEY_NAME, currentLevel).putInt(BubbleShooterActivity.PREFS_UNLOCK_LEVEL_KEY_NAME, maxLevel).commit();
if (currentLevel >= MAX_LEVEL_NUM) {
currentLevel = 0;
}
}
これは、少なくとも平均的な Java スキルを持っている人にとっては非常に簡単であるに違いないと思います。私のコード/ゲームに基づいた例と、ステップバイステップの指示または説明を提供してください.