How to display image in second layer in Cocos2d
        Posted  
        
            by 
                PeterK
            
        on Game Development
        
        See other posts from Game Development
        
            or by PeterK
        
        
        
        Published on 2012-03-21T04:26:09Z
        Indexed on 
            2012/03/21
            5:40 UTC
        
        
        Read the original article
        Hit count: 324
        
multiplayer
|cocos2d-iphone
I am very new at Cocos2d and is testing to displaying an image over the "Hello World" text on a second layer and need help to get it work. I guess it is some basic stuff here and appreciate any tips etc. with this.
I know that if i put the display-code (myLayer1) in the "init" it work or do the call [self goHere] from the "init" in myLayer1 it works but i want to call the "goHere" directly.
I have the following code:
HelloWorld.m:
#import "HelloWorldLayer.h"
#import "myLayer1.h"
// HelloWorldLayer implementation
@implementation HelloWorldLayer
+(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
// 'layer' is an autorelease object.
HelloWorldLayer *layer = [HelloWorldLayer node];
myLayer1 *layer1 = [myLayer1 node];
// add layer as a child to scene
[scene addChild: layer];
[scene addChild: layer1];
// return the scene
return scene;
}
// on "init" you need to initialize your instance
-(id) init
{
// always call "super" init
// Apple recommends to re-assign "self" with the "super" return value
if( (self=[super init])) {
    // create and initialize a Label
    CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World" fontName:@"Marker Felt" fontSize:64];
    // ask director the the window size
    CGSize size = [[CCDirector sharedDirector] winSize];
    // position the label on the center of the screen
    label.position =  ccp( size.width /2 , size.height/2 );
    // add the label as a child to this Layer
    [self addChild: label];
    myLayer1 *a1 = [myLayer1 new];
    [a1 goHere];
    [myLayer1 release];
}
return self;
}
myLayer1.m:
#import "myLayer1.h"
@implementation myLayer1
-(void)goHere {
NSLog(@">>>>goHere<<<<");
CGSize size = [[CCDirector sharedDirector] winSize];
CCSprite *vv = [CCSprite spriteWithFile:@"hand.png"];
vv.position =  ccp( size.width /2 , size.height/2 );
[self addChild:vv z:3];
}
-(id) init
{
// always call "super" init
// Apple recommends to re-assign "self" with the "super" return value
if( (self=[super init])) {
}
return self;
}
@end
© Game Development or respective owner