我正在使用Android中的andEngine开发游戏,我已经开发了动画精灵背景,平台和分数。对于加载级别,我已经做了
.lvl 扩展文件,其中我定义了固定位置的平台,播放器和障碍物。我想知道是否有任何由andEngine提供的东西,以便我可以动态加载障碍物,平台,硬币和其他物体而不是加载任何文件,我的目标是只要我的玩家还活着就让我的游戏世界继续运行。 我想我很清楚。 感谢!!!
答案 0 :(得分:1)
我想指出你去调查" TimerHandler"作为动态时间处理程序(定义附加另一个对象/实体的频率。 使用时间处理程序,您可以使用MathUtils.random(min,max)分配对象/实体的几乎任何int / double / float值。
示例:
TimerHandler objectTimerHandler = new TimerHandler(1f, true, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
int timerSeconds = 0;
timerSeconds++;
final Sprite object1 = new Sprite(0, 0, resourcesManager.object1_region, vbom);
if (timerSeconds == MathUtils.random(1, 4))
{
attachChild(object1);
object1.setX(MathUtils.random(0, 480));
}
});
registerUpdateHandler(objectTimerHandler);
所以,TimeHandler" objectHandler"由1f变量定义的每1秒调用一次。 整数计数器" timerSeconds"被设置为基础。 Sprite对象/实体已初始化。
现在"魔术":if布尔值到位以设置真正的随机性。所以这里的数学......每一秒都过去了,加上一个" timerSecond"。那么,IF" timerSecond"是等于1-4之间的随机数,然后附加精灵" object1"并设置它的X位置,也在0-480的随机范围内。
实际上,这意味着每经过1秒,就有1/4的机会创建/附加此精灵。 (这可以通过改变随机范围最大值来改变到任何期望的机会范围.EG:MathUtils.random(1,100)< - 这将表示每秒产生精灵的百分之一的机会。)
第2行到最后一行关闭Timehandler代码,最后一行将Timehandler注册到类/场景/实体/引擎(例如..)。