2011-09-30 14 views
2

我正在學習有關cocos2d的第一個教程,瞭解基本概念。我試圖將背景顏色從默認(黑色)更改爲white.here是我的代碼:無法使用CCLayerColor和initWithColor更改背景:cc4(255,255,255,255)

#import <Foundation/Foundation.h> 
#import "cocos2d.h" 

@interface GameScene : CCLayerColor { 

    CCSprite *player; 
} 
+(id) scene; 
@end 

和實施放在這裏:

#import "GameScene.h" 
@implementation GameScene 
+(id) scene 
{ 
    CCScene *scene = [CCScene node]; 
    CCLayer *layer = [CCLayer node]; 
    [scene addChild:layer]; 
    return scene; 
} 
-(id) init 
{ 
    if ((self=[super initWithColor:ccc4(255, 255, 255, 255)])) { 

     self.isAccelerometerEnabled=YES; 
     player= [CCSprite spriteWithFile:@"Icon-72.png"]; 
     CGSize screenSize=[[CCDirector sharedDirector] winSize]; 
     float imageHeight=[player texture].contentSize.height; 
     player.position=CGPointMake(screenSize.width/2, imageHeight/2); 
     [self addChild:player z:0 tag:123]; 
    } 

    return self; 
} 



-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration 
{ 
    CGPoint pos=player.position; 
    pos.x+=acceleration.x*10; 
    player.position=pos; 
} 
- (void)dealloc { 

    [super dealloc]; 
} 
@end 

什麼建議嗎?謝謝

回答

0

CCDirectory只需要CCScenes。所以很可能你所體驗的黑屏不是CCColorLayer的錯誤,而只是空白階段。

將CCScene作爲GameScene的子類,然後將CCLayerColor添加到具有所需顏色的CCLayerColor以及您的播放器。然後致電[[CCDirector sharedDirector] runWithScene:gameScene]

+0

感謝您的回覆,如果我嘗試使用[[CCDirector sharedDirector] runWithScene:[gameScene node]]和commenting +(id)scene(來自GameScene .h和GameScene .m),每件事情都可以正常工作。我試圖理解爲什麼?這背後的概念是什麼.. – Alok

+0

爲什麼? CCDirector是世界,CCScenes是你遊戲的章節,而CCScene的一切都是你遊戲的一部分。 –

+0

感謝您的回覆.. – Alok