我已安排在每一帧上重复回调:
[self schedule:@selector(nextFrame:)];
这构成了我的主游戏循环。
当用户触摸屏幕时,会生成一个事件,例如
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
...
// Respond to event
...
}
此事件是在新线程上立即生成的吗?
...或者它是否已排队并在当前帧完成时发生?
...还是其他什么?
如果是2.那么这是否意味着不存在多线程问题?
最佳答案
1) 所有 cocos2d-iphone 代码都在单个主游戏循环中处理,当 iPhone SDK 触摸事件发生时,Director 会调用 ccTouchBegan。
2)所有“事件”都在帧处理之前处理,渲染是最后完成的事情。
3) ...
Cocos2D 中不存在多线程问题。
关于iphone - 用户事件是否在 Cocos2d/Objective C 中的单独线程上生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4557328/