невозможно изменить фон с помощью CCLayerColor и initWithColor: cc4 (255,255,255,255) - PullRequest
2 голосов
/ 30 сентября 2011

Я работаю над самым первым уроком по Cocos2d, понимая основную концепцию. Я пытаюсь изменить цвет фона с по умолчанию (черный) на белый. Вот мой код:

#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

есть предложения?спасибо

1 Ответ

0 голосов
/ 01 октября 2011

CCDirectory принимает только CCScenes.Таким образом, скорее всего, черный экран - это не неисправный CCColorLayer, а просто пустая сцена.

Подкласс CCScene как GameScene, затем добавьте CCLayerColor к нему с нужным цветом, а также своего игрока.Затем позвоните [[CCDirector sharedDirector] runWithScene:gameScene].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...