【发布时间】:2013-03-26 07:49:46
【问题描述】:
我是 Android / Java 开发的初学者。我刚开始学习编程,对我来说最简单的方法是修改开源项目以了解所涉及的原则。
无论如何,我想对泡泡射击游戏做一个非常简单的修改,5-10个不同的背景图片会随机循环:
- 每个新关卡开始时(但在关卡刚重新启动时保持不变)
- 或者更简单:当关卡重新启动或开始时,背景每次都会发生变化
我定义了一个背景可绘制对象的字符串数组:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="random_background"></string-array>
<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>
</resources>
原代码在SRC文件夹中的GameView.java上定义背景:
mBackgroundOrig =
BitmapFactory.decodeResource(res, R.drawable.background, options);
请帮助我为这个想法创建一个简单的方法。
还有几个问题:
- xml 文件的 res/values 必须正确吗?我可以使用任何文件名吗?例如:random.xml
- xml 文件出现此错误:错误:项目需要“类型”属性我需要为每个项目设置类型和格式吗?如果是,请问是什么类型和格式?
- 我们可以避免超过显存限制吗?我的意思是只加载当前背景,每次使用后都会被刷新,然后才会显示新的随机图像。
注意事项: 泡泡射击源码:https://code.google.com/p/bubble-shoot/
背景图片文件名:background01.jpg、background02.jpg等
非常感谢,
保罗
【问题讨论】:
-
这行得通。它随机改变背景。现在我有另一个问题。只有当我重新启动应用程序时它才会改变。当游戏改变关卡(nextLevel)时,我需要应用程序来改变背景。谢谢。
标签: java android xml image random