CCLayer为空

时间:2013-03-07 00:32:05

标签: objective-c macos cocos2d-iphone

我正在尝试更改名为bgColorLayer的CCLayerColor的颜色,但是当我检查它是否已初始化时,它返回null。我有一个调用setBGColor:方法的颜色选择器。我知道colorpicker正在调用方法,它正在吐出正确的颜色。我只是为什么bgColorLayer为空而感到茫然。

这是适用于Mac的Cocos2D。

对于为什么有任何想法?

在我的AppDelegeate方法中,我有一个与NSColorWell绑定的IBOUTLET

- (IBAction)colorwellBackground:(id)sender {
    NSLog(@"Color Well: %@", [sender color]);
    // Yes I know the sender color isn’t passing the correct value
    AnimationViewerLayer * bkg = [AnimationViewerLayer alloc];
    [bkg setBGColor:[sender color]];
}

AnimationViewerLayer.h

@interface AnimationViewerLayer : CCLayer
{
  CCLayerColor * bgColorLayer;
}
+ (CCScene *) scene;
@end

AnimationViewLayer.m

    #import "AnimationViewerLayer.h"
    @implementation AnimationViewerLayer

    +(CCScene *) scene
    {
        CCScene *scene = [CCScene node];
        AnimationViewerLayer *layer = [AnimationViewerLayer node];
        [scene addChild: layer];
        return scene;
    }

    -(id) init
    {
        if( (self=[super init])) {
            float red = 25.0 * 255;
            bgColorLayer = [CCLayerColor layerWithColor:ccc4(57, 109, 58, 255)];
            [self addChild:bgColorLayer z:1];     
    }
        return self;
    }

    - (void) setBGColor: (ccColor3B) color{
        NSLog(@"SET BG COLOR");
        [bgColorLayer setColor:ccRED];
    }


    - (void) dealloc {
        [super dealloc];
    }
    @end

0 个答案:

没有答案