1

画面内のコンテンツの一部をパンおよびズームできるようにするために、CCLayerPanZoom 拡張機能を使用することにしました。ソース コードを見ると、CCLayer クラスから派生していることがわかります。そこで、ナビゲーション スタックにプッシュされるノードの親クラスを CCLayer から CCLayerPanZoom に変更します。しかし、アプリの起動時に表示されるのは、単なる黒い画面です。わかりやすくするために、CCLayerPanZoom から派生した新しいクラスを作成し、init メソッドでテスト スプライトを追加して、AppDelegate.m のナビゲーション スタックにプッシュしました。それでも何も得られず、黒い画面だけでした。クラスに実装した 2 つのメソッドを次に示します。

@interface TestPanZoom : CCLayerPanZoom {

}
+(CCScene *) scene;
@end

@implementation TestPanZoom
+(CCScene *) scene
{
    // 'scene' is an autorelease object.
    CCScene *scene = [CCScene node];

    // 'layer' is an autorelease object.
    TestPanZoom *layer = [TestPanZoom node];

    // add layer as a child to scene
    [scene addChild: layer];

    // return the scene
    return scene;
}

-(id)init{
    if(self=[super init])
    {
        CCSprite *sprite=[CCSprite spriteWithFile:@"Default.png"];
        sprite.scale=0.5;
        [self addChild:sprite];
    }
    return self;
}
@end
4

0 に答える 0