Я начинаю чувствовать себя плохо из-за того, что задаю так много вопросов и не могу отвечать ни на кого, но как только я найду те, которые смогу, я это сделаю!Исповедь с пути ...
По большому счету у меня есть gameLoop, который запускает все в игре, которую я делаю, и все отлично работает в меню и затем в игре, но когда я выхожу из игры изатем перезагрузите экран меню, экран мерцает.
Вот мой игровой цикл, я надеюсь, что он даст некоторое представление.
//A game loop that is triggered by a timer with intervals of 1/60 seconds
- (void)gameLoop
{
// we use our own autorelease pool so that we can control when garbage gets collected
NSAutoreleasePool * apool = [[NSAutoreleasePool alloc] init];
thisFrameStartTime = [levelStartDate timeIntervalSinceNow];
deltaTime = lastFrameStartTime - thisFrameStartTime;
lastFrameStartTime = thisFrameStartTime;
// add any queued scene objects
if ([objectsToAdd count] > 0)
{
[sceneObjects addObjectsFromArray:objectsToAdd];
[objectsToAdd removeAllObjects];
}
// update our model
[self updateModel];
// send our objects to the renderer
[self renderScene];
// remove any objects that need removal
if ([objectsToRemove count] > 0)
{
[sceneObjects removeObjectsInArray:objectsToRemove];
[objectsToRemove removeAllObjects];
}
[apool release];
if (needToLoadScene)
{
[sceneObjects removeAllObjects];
[self loadScene];
}
if (needToEndScene)
{
[sceneObjects removeAllObjects];
[self stopAnimation];
//We'll need to add unloading sounds later on
[inputController endScene];
[self renderScene];
needToEndScene = NO;
}
}
Единственное, что я должен добавить, это то, что видконтролируется классом MusicAndViewController
, который я использую в качестве представления, а затем добавляю последующие представления.Меню и игровые представления на самом деле являются одним и тем же представлением openGL, но я отображаю чистое представление перед переключением на другое представление