bgColorLayer という CCLayerColor の色を変更しようとしていますが、初期化されているかどうかを確認すると、null が返されます。setBGColor:
メソッドを呼び出すカラーピッカーがあります。カラーピッカーがメソッドを呼び出しており、正しい色を吐き出していることはわかっています。bgColorLayer が null である理由がわかりません。
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