我正在使用box2d和cocos2d-x進行遊戲,並且我想在過度設計它之前檢查一個細節:TouchDispatcher調用的回調(如ccTouchesBegan,ccTouchesEnded,ccTouchesMoved)是否可能中斷Box2d的世界一步?例如,如果我的ccTouchesEnded回調是沿着線:在Cocos2d-X中,TouchDispatcher是否會干擾Box2d的世界步驟?
void GameLayer::ccTouchesEnded(cocos2d::CCSet* touches, cocos2d::CCEvent* event)
{
world->DestroyBody(myBody);//obviously an oversimplification but you get the idea
}
...這將是可能的,這有可能被意外堪稱世界一步的執行過程中,從而刪除的東西,世界上一步目前處理?
我看着它...
...我已經看到了一些可以干擾,但出現這個時候討論的只有一個是ContactListener,給我留下這樣的印象:這是一個特殊情況或某事。任何回調都會干擾嗎?或者是世界上的原子到外部(非box2d)線程?
PS。我明白所給出的示例代碼並不完全遵守MVC設計原則,說實話我正在考慮改變它(儘管考慮到項目的狀態會導致很多延遲),但即使如此,我我仍然想知道更多關於這個世界的原子究竟是多麼的原子,即使只是爲了我自己的參考。
在此先感謝