Цикл по частицам в Android - PullRequest
       3

Цикл по частицам в Android

0 голосов
/ 22 февраля 2011

Может кто-нибудь помочь, пожалуйста?

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

В моем основном игровом классе я объявляю массив, например, 100 частиц. Моя проблема в том, что я использую цикл for, чтобы перебирать массив частиц в каждом тике игры, чтобы обновить это состояние частиц. Моя проблема, однако, заключается в том, что цикл for проходит по всем частицам за один такт каждый раз, и все частицы обновляются одновременно, и, следовательно, рисуются друг на друга, создавая иллюзию, что на экране только одна частица. Я пробовал разные структуры петель, но без удачи.

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

Заранее спасибо.

1 Ответ

0 голосов
/ 23 февраля 2011

Вот мысль: как насчет добавления переменной времени "member" к каждой частице.Теперь, когда вы инициализируете частицы (допустим, используя цикл for), присвойте каждой частице значение времени рождения -i.итак:

particle[0].time : 0
particle[1].time : -1
particle[2].time : -2
particle[3].time : -3
particle[i].time : -i

Теперь, когда вы обновляете каждую частицу на каждом тике в своей функции обновления, вы обновляете:

particle[i].time += 1

Таким образом, частицы постепенно "рождаются" (t> = 0)

В вашем розыгрыше вы можете поставить простую проверку:

if (particle[i].time >= 0)  // particle has been born
 // draw particle

Надеюсь, это поможет.

Также я рекомендую перенести это в: https://gamedev.stackexchange.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...