cocos2d从按钮扩展触摸区域

我有一些radiobuttons但是toucharea是小的. toucharea取决于图像大小.有没有一种优雅的方法来扩展触摸区域与cocos2d而不使用更大的图像或使用cgrect我自己的触摸区域?
setContentSize做我想要的.不幸的是,图像移动到内容大小的左下角.设置anchorpoint会移动内容大小,但图像保留在左下角.
CcmenuItem* pickEasy = [CcmenuItemImage itemFromnormalImage:@"radiobutton_off.png" selectedImage:@"radiobutton_on.png" target:self selector:@selector(pickEasyTapped:)];
    pickEasy.position = ccp(ss.width * 0.40,ss.height * 0.78);
    [pickEasy setContentSize:CGSizeMake(50,50)];

提前致谢.

您需要覆盖rectInPixels方法
- (CGRect)rectInPixels
{
CGSize s = [self contentSize];
return CGRectMake(0,s.width,s.height);
}

- (BOOL)containsTouchLocation:(UITouch *)touch
{   
CGPoint p = [self convertTouchToNodeSpace:touch];
CGRect r = [self rectInPixels];
return CGRectContainsPoint(r,p);
}

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {

NSSet *alltouches = [event alltouches];
for (UITouch *aTouch in alltouches) {

        if ( ![self containsTouchLocation:aTouch] ) return NO;
}

return YES;
}

这只是告诉精灵检查你改变的CGRect中的触摸lyes

编辑显示CCSprite子类—

- (void)onEnter
{
[[CCTouchdispatcher shareddispatcher] addTargetedDelegate:self priority:0 swallowstouches:YES];
[super onEnter];
}

- (void)onExit
{
[[CCTouchdispatcher shareddispatcher] removeDelegate:self];
[super onExit];
}

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...