用户事件是否在Cocos2d / Objective C中的不同线程上生成

时间:2010-12-29 19:54:05

标签: iphone multithreading cocos2d-iphone

我已在每一帧上安排了重复回调:

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

这构成了我的主要游戏循环。

当用户触摸屏幕时,会生成一个事件,例如

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
    ...
    // Respond to event
    ...
}
  1. 此事件是否在新线程上即时生成?

  2. ...还是排队并在当前帧结束时发生?

  3. ......还是其他什么?

  4. 如果是2.那么这是否意味着没有多线程问题?

1 个答案:

答案 0 :(得分:3)

1)所有cocos2d-iphone代码都在一个主游戏循环中处理,当发生iPhone SDK触摸事件时,由Director调用ccTouchBegan。

2)在处理帧之前处理所有“事件”,渲染是最后完成的事情。

3)...

Cocos2D中没有多线程问题。