Сделать нажатие кнопки эксклюзивно для изображения кнопки?

У меня странная, раздражающая проблема.

Например, на экране моего главного меню есть кнопка с надписью "Инструкции".

Как только я нажимаю на это, в слое инструкций, есть кнопка, которая возвращает вас в главное меню.

Однако по какой-то причине действие кнопки не является эксклюзивным для изображения спрайта. Если я нажму 3 дюйма от кнопки "backtomenu", она все равно вернет меня в главное меню.

Итак, мой вопрос, как я могу сделать нажатие кнопки, только если вы нажмете на фактическое изображение? (так я создаю кнопку)

    - (id) init
{
    if((self = [super init]))
    {
        [self instructions];
    }
    return self;
}

- (void) instructions
{
    bgI = [CCSprite spriteWithFile:@"testbackground11.png"];
    [bgI setPosition:ccp(160,240)];
    ccTexParams params = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};
    [bgI.texture setTexParameters:&params];
    [self addChild:bgI z:0];

    returnToMenu = [CCMenuItemImage itemFromNormalImage:@"berry2.png"
                                                            selectedImage:@"berry2_selected.png"
                                                            target : self
                                                            selector: @selector (ifReturnToMenu:)];
    CCMenu *myReturnMenu = [CCMenu menuWithItems:returnToMenu, nil];

                            [myReturnMenu alignItemsVertically];

                            [self addChild: myReturnMenu];

}

- (void) ifReturnToMenu: (CCMenuItem *) menuItem
{
    if(menuItem == returnToMenu)
    [[CCDirector sharedDirector] replaceScene:
     [CCTransitionFade transitionWithDuration:0.5f scene: [MainMenu scene]]];
}

1 ответ

Решение

Я не уверен, как "isReturnToMenu" запускается, но вы можете попробовать это

- (void) ifReturnToMenu: (CCMenuItem *) menuItem{
if(menuitem == returnToMenu){
    [[CCDirector sharedDirector] replaceScene:
    [CCTransitionFade transitionWithDuration:0.5f scene: [MainMenu scene]]];
}

}

Если это не сработает, вам нужно опубликовать код, который запускает его, чтобы мы могли помочь вам больше

Другие вопросы по тегам