我目前正在尝试访问另一个文件上的函数。(更准确地说,是另一个层)。
两个图层都在一个场景中。
第三层正在尝试从第一层获取功能......
以下是我的做法:
这是我在 scene.h 中的场景
#import "firstLayer.h"
#import "secondLayer.h"
#import "thirdLayer.h"
@interface myScene : CCScene
{
// custom instance vars here...
}
@end
这是我在 scene.m 中投射场景的方式
-(id)init {
self = [super init];
if(self != nil){
firstLayer *firstLayerz = [firstLayer node];
[firstLayerz setTag:111];
[self addChild:firstLayerz z:0];
secondLayer *secondLayerz = [secondLayer node];
[secondLayer setTag:112];
[self addChild:secondLayer z:2];
thirdLayer *thirdLayerz = [thirdLayer node];
[thirdLayerz setTag:113];
[self addChild:thirdLayerz z:4];
这是我在thirdLayer.m 中转换函数的方法
#import "scene.h"
@implementation thirdLayer.m
-(id)init {
self = [super init];
if(self != nil){
firstLayer* firstLayerz = (firstLayer*)[self.parent getChildByTag:111];
[firstLayerz functionNeeded];
}
这是 firstLayer.m 中需要的函数(就在 init(
-(void)functionNeeded {
NSLog(@"inside fnnction needed");
}
当然日志没有显示...
我在 firstLayer.h 中进行了正确的演员阵容
@interface firstLayer : CCLayer {
}
-(void)functionNeeded;
@end