在我的cocos2d项目中,我的一个帮助方法是:
-(CCMenuItem *) itemForTouch: (UITouch *) touch
{
CGPoint touchLocation = [touch locationInView: [touch view]];
touchLocation = [[CCDirector sharedDirector] convertToGL: touchLocation];
CCMenuItem* item;
CCARRAY_FOREACH(children_, item)
{
// ignore invisible and disabled items: issue #779, #866
if ( [item visible] && [item isEnabled] ) {
CGPoint local = [item convertToNodeSpace:touchLocation];
CGRect r = [item rect];
r.origin = CGPointZero;
if( CGRectContainsPoint( r, local ) )
return item;
}
}
return nil;
}
代码有效然而我一直收到错误“使用未声明的标识符children_;你的意思是孩子们,我得到了所有变量后面带有”“的单词。 这是一个xcode'问题'还是我可以在我的xcode项目中放置的东西,以防止我收到此错误或者是否与我的xcode版本有关?
感谢您提供有关此错误的任何帮助! :)
谢谢! 约翰
答案 0 :(得分:1)
我认为这是来自早期版本的cocos2d的代码,或者您已经在项目中升级了cocos2d。 (大多数)ivars的名称从尾随下划线后缀更改为前导下划线后缀,这是Objective-C中的标准。
所以正确使用是:
_children