0

私は奇妙で苛立たしい問題を抱えています。

たとえば、メインメニュー画面に「手順」というボタンがあります。

それをクリックすると、説明レイヤーにメインメニューに戻るボタンがあります。

ただし、何らかの理由で、ボタンの操作はスプライト画像に限定されません。[メニューに戻る]ボタンから3インチ離れたところをクリックしても、メインメニューに戻ります。

だから、私の質問は、実際の画像をクリックした場合にのみボタンがクリックされるようにするにはどうすればよいですか?(これが私がボタンを作成する方法です)

    - (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]]];
}
4

1 に答える 1

1

'isReturnToMenu'がどのように起動されるかはわかりませんが、これを試すことができます

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

}

それが機能しない場合は、それを起動するコードを投稿する必要があります。

于 2012-09-04T05:24:00.383 に答える