2011-01-31 4 views
2

Как можно обрабатывать сразу несколько элементов игры?Handlings Game Loops in cocos2d

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

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

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

Есть ли встроенные методы?

ответ

4

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

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


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

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

+0

Спасибо. У меня есть другой вопрос относительно прокрутки по оси y, если вы могли бы помочь мне, пожалуйста. – jarryd

0

Это предпочитают регистрировать способ обновления

[self scheduleUpdate]; 

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

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

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

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