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: 258
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