为什么带有块的CCMenuItemImage会触发错误的块触摸?

时间:2011-09-05 22:00:15

标签: cocos2d-iphone objective-c-blocks

触摸我的_follow按钮,触发_learn按钮的^块。它看起来好像是在触发错误的块,因为它是一个匿名或未命名的块。我试图说出它,但似乎无法做到正确。还有其他人有这个问题吗?或者知道正确命名块的语法,以便我的按钮不会混淆?

_learn= [CCMenuItemImage itemFromNormalImage: _learnButtonPath selectedImage:             _learnButtonPath disabledImage:_learnButtonPath block:^(id sender)
{
    NSLog(@"Learn Button has been touched!");
    ...
}
_follow= [CCMenuItemImage itemFromNormalImage: _onFollowButtonPath selectedImage: _onFollowButtonPath disabledImage:_offFollowButtonPath block:^(id sender)
 {
    NSLog(@"FollowButton has been touched!");
    ...
}

1 个答案:

答案 0 :(得分:0)

我错误地将NSLog添加到CCMenu.itemForTouch而没有添加花括号,导致它在它找到的第一个menuItem上触发。

对于那些感兴趣的人,这就是我做的事情

if( CGRectContainsPoint( r, local ) )

NSLog(@"User Touch\tccp(%.0f,%.0f)",local.x,local.y); //touch log

return item;

用大括号固定......傻傻的我:)。

if( CGRectContainsPoint( r, local ) )
        {
            NSLog(@"User Touch\tccp(%.0f,%.0f)",local.x,local.y);       //touch log
            return item;
        }