【发布时间】:2012-02-24 07:42:53
【问题描述】:
我一直在尝试在我的场景中添加一个图层。我的场景叫做“生存”。我的图层称为“SSpriteLayer”。场景初始化,但图层没有。
生存.H:
#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import "SSpriteLayer.h"
@interface Survival : CCLayer {}
@end
SURVIVAL.M:
@implementation Survival
+(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
// 'layer' is an autorelease object.
Survival *layer = [Survival node];
SSpriteLayer *spriteLayer = [SSpriteLayer node];
// add layer as a child to scene
[scene addChild: layer];
[scene addChild: spriteLayer];
// return the scene
return scene;
}
-(id) init
{
if( (self=[super init]))
NSLog(@"SCENE HAS INIT");
return self;
}
@end
SSPRITELAYER.H:
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@interface SSpriteLayer : CCLayer {
}
@end
SSPRITELAYER.M:
#import "SSpriteLayer.h"
@implementation SSpriteLayer
-(id) init
{
if( (self=[super init]))
NSLog(@"SPRITELAYER HAS INIT");
return self;
}
@end
我不明白为什么我的层没有初始化,以及为什么我在调试区域没有收到“SPRITELAYER HAS INIT”消息。
【问题讨论】:
-
有什么问题?另外,“我已经导入了 SurvivalHudLayer.h” 是什么意思?可以发一些代码吗?
-
@sch 问题是我的层没有初始化,它没有出现,我从来没有收到消息“HUD LAYER HAS INIT”。将lay导入游戏场景的代码现在有问题了。
-
什么是
Survival,你能贴出代码吗?另外,您的代码是否实际编译,或者它与您在此处发布的代码不同? -
好吧,生存只是游戏场景。我的游戏中有几种不同的游戏模式,这一种叫做生存
-
@sch 我已重新格式化问题,提供更多信息。不过,我已经更改了图层的名称。
标签: ios cocos2d-iphone subclass layer scene