Lo hice en mi aplicación Applez de la siguiente manera;
1) crear una ArrayList para contener imágenes y completarla 2) tomar un número aleatorio y devolver la imagen correspondiente.
en código:
public static void fruitInventory() {
fruitResources.clear();
Field[] fields = R.drawable.class.getFields();
for (Field field : fields) {
// Take only those with name starting with "fr"
if (field.getName().startsWith("fr_")) {
try {
String FType = field.getName().substring(3);
fruitResources.add(field.getInt(null));
alfruitTypes.add(FType);
Log.d("FruitManager", "Type " + FType);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
y añadir la fruta:
public static void addFruit(Context context){
fruitInventory();
for (int i = 0; i < 10; i++) {
Random Rnd = new Random();
int FruitType = Rnd.nextInt(fruitResources.size());
GameObject nextApple = new GameObject(BitmapFactory.decodeResource(context.getResources(),
fruitResources.get(FruitType)), FruitType);
MainGamePanel.AppleList.add(nextApple);
}
}
idea era (y trabaja) que podría agregar frutas adicionales para el juego, simplemente agregando por ejemplo "fr_eggplant.bmp" a la carpeta de imágenes.
Pensé en esto ... pero no quiero cambiar el código cada vez que agrego algunas imágenes a mi directorio de res /. –
Creo que Mayra tiene la respuesta. – bporter