2011-09-29 58 views
0

目前,我有这样的代码在我的UIViewController:我应该从哪里出发? (cocos2d的+ UIKit的)

//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 book(第二版)介绍了如何在UIKit视图(普通iPhone)应用程序中添加和设置Cocos2D。