Я новичок в Android/Java. Я хочу изменить простую игру с открытым исходным кодом Android. Мне намного легче научиться программированию на реальных примерах.Вызвать метод в 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);
И создать XML-файл со строковым массивом в значениях /rand_bkgnd.xm л:
<?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>
Запрос: Пожалуйста, помогите мне создать метод с выше Randomize фона кода. Я хотел бы иметь этот код в отдельный файл Java и иметь возможность вызвать его из 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. Пожалуйста, предоставьте мне примеры, основанные на моем коде/игре и пошаговых инструкциях или объяснениях.
Я просто удивляюсь, почему я получил отрицательный голос за мой вопрос без каких-либо объяснений? Итак, следует ли мне считать эту плохую шутку жалким участником этого форума? Или я должен считать это реакцией разочарованного программиста java/android, который не понимает очень простой фальшивый факт, что там есть безобразия в отчаянной потребности в помощи? –