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.

Était-ce utile?

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
scroll top