调用父方法Cocos2d

时间:2012-04-17 04:28:08

标签: ios cocos2d-iphone parent-child layer scene

我正在尝试从图层调用方法。有问题的方法在该层的父级中。

示例:

“生存”是我的场景的名称 “SSpriteLayer”是我的图层的名称

SSpriteLayer.m

//this id not my actual method, just a simplified version
-(void) spritePick {
[scene initSpritePick];
NSLog(@"sent");
{

SSpriteLayer.h

#import Survival 
@interface SSpriteLayer : CCLayer {
Survival *scene;
}

Survival.m

- (void) initSpritePick {
NSLog(@"test");
}

文本“test”从未出现在日志中,但调用了我的图层中的方法。问题是即使发送了对方法的调用,它也永远不会找到方法,也没有任何反应。 我没有收到任何错误消息。

我已经尝试过各种方式来做我知道的事情,所以请你给我一些建议,或指出问题。

2 个答案:

答案 0 :(得分:1)

也许这会有所帮助 [(ParentClassName *)[self parent] functionName];

答案 1 :(得分:0)

 Try using Class Method it will work 

示例:

"Survival" is the name of my scene "SSpriteLayer" is the name of my layer

**SSpriteLayer.m**

//this id not my actual method, just a simplified version
-(void) spritePick 
 {
    [Survival initSpritePick];
    NSLog(@"sent");
    {
    }


**SSpriteLayer.h**

#import Survival 
@interface SSpriteLayer : CCLayer {
  Survival *scene;
}

**Survival.m**

  + (void) initSpritePick
  {
      NSLog(@"test");
 }

此致 尼尔。