没有调用函数

时间:2011-10-01 02:22:01

标签: objective-c cocos2d-iphone

我有一个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不会给我任何警告/错误。

1 个答案:

答案 0 :(得分:2)

self.parent(以及myParent)是否为零?然后不会调用该方法。