Je suis nouveau dans le développement de l'iPhone. J'ai une configuration de boucle de jeu comme suit.iPhone Mise à jour du rendu Gameloop à partir d'un fil séparé
(void)CreateGameTick:(NSTimeInterval) in_time
{
[NSThread detachNewThreadSelector:@selector(GameTick) toTarget:self withObject:nil];
}
Mon tick jeu de base/rendu ressemble à ce
(void)GameTick
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
CGRect wrect = [self bounds];
while(m_running)
{
[self drawRect: wrect];
}
[pool release];
}
Mon rendre la fonction est appelée. Cependant rien ne se dessine (j'utilise Core Graphics pour dessiner des lignes sur un UIView dérivé).
Si j'appelle ma mise à jour via une minuterie alors tout va bien.
Pouvez-vous me dire pourquoi le rendu échoue lorsqu'il est effectué via des threads? Et est-il possible de le faire fonctionner via des threads?
Merci Rich
Je ne connais pas la réponse à votre question spécifique, mais consultez [cocos2d-iphone] (http://code.google.com/p/cocos2d-iphone/). C'est un excellent framework de jeu 2D, et vous pouvez trouver plusieurs exemples de code sur le site qui peuvent vous aider. –