如何在Android亚军游戏中设置对象

时间:2013-02-26 05:04:27

标签: android actionscript-3 air flash-cs5 flash-cs6

我正在尝试为学校目的开发一款Android转轮游戏。 我还是新手,请我帮忙..

你们可以在>>>上查看我的CS5flash文件http://www.filedropper.com/test_37

障碍物和硬币是随机的。但是障碍和硬币相互重叠。这对于亚军游戏来说非常糟糕,因为它看起来非常糟糕,而且游戏玩法变得非常复杂。

我该如何解决?有没有办法解决它?

而且我也在考虑是否可以将障碍物和硬币设置到特定区域(而不是随机)。因此游戏将更加集中化,游戏玩法也不会复杂。我还是不知道-_-。

但我仍然喜欢它随意。所以大家请帮我解决..

1 个答案:

答案 0 :(得分:0)

您需要更改添加硬币和障碍物的方式!我建议每个人使用一个计时器。 Atm你在每一帧都添加了大量的,计算重叠会占用太多资源!并将它们放在array或更好的vector中!我会建议你使用object Pool

所以限制可以出现的硬币和障碍的数量,比如大约5个左右。然后当他们在屏幕外或收集时从阵列/矢量中删除它们!然后当你添加新的东西时,你可以检查数组/向量是什么允许的值!

当你得到你的数组时,你可以将它传递给randomRange()函数并驱逐这些值! 看起来像这样的东西!不是测试!!

function randomRange (min:Number, max:Number, exclude:Array = null):int
{
    var val:int = (min + Math.random() * (max - min)) >> 0;
    if (exclude)
    {
        for (var i:int = 0; i < exclude; i++)
        {
            while ((val < exclude[i].x + exclude[i].width) && (val > exclude[i].x))
            {
                val = (min + Math.random() * (max - min)) >> 0;
            }
        }
    }
    return val;
}

它的性能仍然相当昂贵。但只有少数对象你应该没问题