События пользователя порождаются в отдельных потоках в Cocos2d / Objective C - PullRequest
2 голосов
/ 29 декабря 2010

Я запланировал повторный обратный вызов для каждого кадра:

[self schedule:@selector(nextFrame:)];

Это формирует мой основной игровой цикл.

Когда пользователь касается экрана, генерируется событие, например,

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
    ...
    // Respond to event
    ...
}
  1. Это событие генерируется мгновенно в новом потоке?

  2. ... или это ставится в очередь и происходит, когда текущий кадр заканчивается?

  3. ... или что-то еще?

Если это 2. то значит ли это, что нет проблем с многопоточностью?

1 Ответ

3 голосов
/ 09 января 2011

1) Весь код cocos2d-iphone обрабатывается в рамках одного основного игрового цикла. Директор вызывает ccTouchBegan при касании iPhone SDK.

2) Все «события» обрабатываются до кадраобрабатывается, рендеринг - это последнее, что делается.

3) ...

В Cocos2D нет проблем с многопоточностью.

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