L'ajout d'une couche à une scène ne fonctionne pas
-
12-11-2019 - |
Question
J'ai essayé de mettre une couche dans ma scène. Ma scène est appelée "survie". Ma couche s'appelle "SSPRITELLERYER". La scène initialise, mais la couche ne le fait pas.
Survival.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
SSPRITELLERYER.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
Ce que je ne comprends pas, c'est pourquoi ma couche n'initialise pas, et pourquoi je ne reçois pas le message "SpritteLery a init" dans la zone de débogage.
La solution
// add layer as a child to scene
[self addChild: layer];
[self addChild: SpriteLayer];
Changez-le et essayez
Autres conseils
Assurez-vous que vous appelez
[Survival scene];
ne pas
[Survival node];
et publier du code en appelant votre scène ici
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow