为了能够平移和缩放屏幕中的某些内容,我决定使用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