我有一个CCNode子类,它最终调用位于其父级的函数。首先,我的班级会这样做:
-(void)getTargetPosition {
Battle *myParent = (Battle *)self.parent;
position = [myParent getTargetPosition:@"ENEMY"];
}
Battle 是父母(CCLayer)。
这是父母中函数 getTargetPosition 的代码:
-(CGPoint)getTargetPosition:(NSString*)target {
NSLog(@"I AM RUNNING");
CGPoint position;
if ([target isEqualToString:@"ENEMY"]) {
position = ccp(400,250);
}else if ([target isEqualToString:@"ALLY"]) {
position = ccp(240,160);
}
return position;
}
但是存在这个问题: getTargetPosition 由于某种原因从未被调用过。我可以告诉我,因为NSLog“I AM RUNNING”从未显示过。
任何想法为什么该方法没有运行?
这些函数都已在.h文件中声明。 XCode不会给我任何警告/错误。
答案 0 :(得分:2)
self.parent(以及myParent)是否为零?然后不会调用该方法。