#ios #xcode #cocos2d-iphone #where
#iOS #xcode #cocos2d-iphone #где-предложение
Вопрос:
В настоящее время у меня есть этот код в моем UIViewController:
//Cocos2D methods
-(id) init {
if((self=[super init]))
{
CCScene *scene = [CCScene node];
CCLayer *layer = [CCLayer node];
[scene addChild:layer];
[[CCDirector sharedDirector] runWithScene:scene];
[[CCDirector sharedDirector] setDisplayFPS:NO];
[self performSelector:@selector(cocosgameLoop:) withObject:nil afterDelay:1/60.0f];
}
return self;
}
- (void)cocosgameLoop:(ccTime)dT {
//Check for collisions here and add gravity, etc....
}
- (void)viewDidUnload {
[super viewDidUnload];
[[CCDirector sharedDirector] end];
}
//
Мой контроллер представления в некоторой степени представляет собой код Objective-C, но я хочу добавить Cocos2D в UIView. Я думаю, что приведенный выше код инициализирует его, но я не уверен. Также должен ли CCScene иметь свой собственный класс, посвященный всему, что происходит в сцене? если да, то как мне это сделать?
Я знаю, что это много вопросов, но моя игра очень похожа на Doodle Jump, и мне нужно знать, куда идти из текущего состояния, в котором я нахожусь.
У кого-нибудь есть какие-нибудь идеи / советы?
Спасибо!
Ответ №1:
performSelector вызовет cocosgameLoop только один раз. Вы захотите вызвать CCDirector startAnimation, а затем запланировать обновления в ваших узлах cocos2d.
В моей книге Learn Cocos2D (2-е издание) объясняется, как добавить и настроить Cocos2D в обычном приложении UIKit view (для iPhone).