Как установить объекты в бегущей игре androidH

Я пытаюсь разработать игру для Android для школьных целей. Я все еще новичок в этом, и, пожалуйста, мне нужна ваша помощь.

Вы, ребята, можете просмотреть мой файл CS5flash по адресу >>> http://www.filedropper.com/test_37.

Препятствия и монеты случайны. Но препятствия и монеты накладываются друг на друга... Что очень плохо для раннера, потому что выглядит очень плохо, а игровой процесс становится очень-очень сложным.

Как я могу это исправить??. Есть ли способ это исправить?

И я также думаю, могу ли я установить препятствия и монеты в определенной области (не случайным образом). Так игра будет более организованной и игровой процесс не будет сложным. Чего я до сих пор не знаю -_-.

Но я все же предпочитаю это наугад. Так что, ребята, пожалуйста, помогите мне исправить это ..


person HeOne    schedule 26.02.2013    source источник


Ответы (1)


Вам нужно будет изменить способ добавления монет и препятствий! Я предлагаю использовать таймер для каждого. Вы добавляете тонну их на каждый кадр, вычисление перекрытий потребовало бы слишком много ресурсов! и поместите их в 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;
}

Это все еще довольно дорого с точки зрения производительности. но с несколькими объектами все должно быть в порядке

person M4tchB0X3r    schedule 01.03.2013
comment
Подожди, я попробую закодировать. Спасибо, кстати :) Итак, сначала я должен сделать массив. Верно? - person HeOne; 02.03.2013
comment
Ваааааааааааааааааааа у меня не получается! :(( Пожалуйста, помогите мне M4tchB0X3r. Крайний срок уже очень близок. Пожалуйста, помогите мне, pleassssssssse - person HeOne; 03.03.2013