0

私の質問はばかげているかもしれませんが、検索したところ、なぜそれが機能しないのかわかりません。以下の実装でCCLayerクラスを作成します。BackgroundLayer

#import "BackgroundLayer.h"

@implementation BackgroundLayer

- (id)init {
    if (self != nil) {
        CCSprite *background = [CCSprite spriteWithFile:@"menu.png"];
        background.anchorPoint = ccp(0, 0);

        [self addChild:background z:-1];

        NSLog(@"test");
    }
    return self;
}

@end

メインメニューシーンに追加したいのですが、次のようになります。

#import "MainMenuScene.h"
#import "BackgroundLayer.h"

@implementation MainMenuScene

+ (id)scene { 
    CCScene *scene = [CCScene node];
    BackgroundLayer *backgroundLayer = [BackgroundLayer node];
    [scene addChild:backgroundLayer];
    return scene;
}

- (id)init {
    self = [super init];
    if (self != nil) {
    }
    return self;
}

@end

私の問題は、NSLogテストは表示されますが、バックグラウンドがロードされないことです。initそれが機能する方法に背景を追加するMainMenuSceneと...レイヤーがこのように機能すると思いませんか?

4

1 に答える 1

2

関連するかどうかはわかりませんがself = [super init];、BackgroundLayerを忘れました。

アンカーポイントラインをコメントアウトして、画像が表示されるかどうかを確認してください。

于 2012-07-23T11:04:03.400 に答える