Handlings Game Loops в cocos2d - PullRequest
       5

Handlings Game Loops в cocos2d

2 голосов
/ 01 февраля 2011

Как можно обрабатывать несколько элементов игры одновременно?

В скроллере, в котором фоновая / мозаичная карта перемещает каждую игровую петлю, как обрабатывается ввод пользователя одновременно?

Карту необходимо перемещать в игровом цикле, а также проверять столкновение для объекта игрока и частей карты, на которые она не должна попасть, а также должен быть код, который принимает пользовательский ввод, перемещаетигрок на карте и проверяет наличие столкновений?

Должны ли они быть нарезаны или как это делается в cocos2d?

Существуют ли какие-либо встроенные методы?

Ответы [ 2 ]

4 голосов
/ 01 февраля 2011

Зарегистрируйте метод шага с указанным интервалом.

[self schedule:@selector(step:) interval:1.0/60.0];


// Main loop of the application
-(void) step:(ccTime)delta
{
     // do your step actions here
}

Старайтесь не регистрировать многошаговые методы. Вы можете сделать все, что вам нужно, в один шаг. Вам не нужно использовать многопоточность.

0 голосов
/ 17 мая 2014

Желательно зарегистрировать метод обновления

[self scheduleUpdate];

Затем переопределите метод обновления так, как вам нравится

-(void) update:(ccTime)delta
{
    //All steps happen here
}

. Это будет вызываться в каждом кадре вашей игры более точно:Cocos2d, чем запланировать новый.

(версия Cocos2dx: this->scheduleUdate(), void update(float delta);)

...