1

为了能够平移和缩放屏幕中的某些内容,我决定使用 CCLayerPanZoom 扩展。当我查看源代码时,我可以看到它派生自 CCLayer 类。因此,我将推送到导航堆栈的节点的父类从 CCLayer 更改为 CCLayerPanZoom。但是当应用程序启动时我得到的只是一个黑屏。为了让它更简洁,我创建了一个新类,它从 CCLayerPanZoom 派生,在 init 方法中添加了一个测试精灵,并将其推送到 AppDelegate.m 中的导航堆栈。我还是什么都没有,只是黑屏。这是我在课堂上实现的两种方法:

@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