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