我當前正在嘗試訪問另一個文件上的函數(更精確的說是另一個層)。不存在功能
兩個圖層都在場景中。
第三層是試圖從第一層的功能...
這裏的IM如何這樣做:
這是我在現場scene.h
#import "firstLayer.h"
#import "secondLayer.h"
#import "thirdLayer.h"
@interface myScene : CCScene
{
// custom instance vars here...
}
@end
以下是我投我在場景中的場景
-(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];
}
這裏的functionNeeded在firstLayer.m(右下方的init(
-(void)functionNeeded {
NSLog(@"inside fnnction needed");
}
過程中,日誌不顯示的...
我做firstLayer.h
適當的投@interface firstLayer : CCLayer {
}
-(void)functionNeeded;
@end
謝謝你的時間和幫助!
哪一部分是C++? –
是首先Layerz零?如果是這樣,請檢查self.parent是包含第一層而不是其他節點的節點(也許是自己) – LearnCocos2D
我想你會從self.parent得到錯誤類型的對象 –