как отключить кнопку на основе тега? - PullRequest
2 голосов
/ 03 октября 2011

Мне нужна помощь с этим кодом. не уверен, как написать код для отключения / включения кнопки на основе тега. я пытался использовать "[levelMenu setIsEnabled: false];" но все кнопки отключены.

// в моем методе init

    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"texture.plist"];
    CCSpriteBatchNode *colorSprites = [CCSpriteBatchNode batchNodeWithFile:@"texture.png"];
[self addChild:colorSprites];

    CCMenu *myMenu = [CCMenu menuWithItems:nil];

    int rows = 2;
    int cols = 4;
    static int padding=20;

    for(int count=0; count < (rows*cols); count++) {

    int index1 = count +1;
    NSString *spritefiles1 = [NSString stringWithFormat:@"sprite%d.png", index1];
    random1 = [CCSprite spriteWithSpriteFrameName:spritefiles1];

        CCMenuItemSprite *levelMenu = [CCMenuItemSprite itemFromNormalSprite:random1 selectedSprite:[CCSprite spriteWithFile:@"Iconselected.png"]   disabledSprite:[CCSprite spriteWithFile:@"Iconlocked.png"] target:self selector:@selector(levelSelected:)];

        int yOffset = padding+(int)(random1.contentSize.width/2-((random1.contentSize.width+padding)*(count/rows))); // or /cols to fill cols first
        int xOffset = padding+(int)(random1.contentSize.width/2+((random1.contentSize.width+padding)*(count%rows))); // or %cols to fill cols first
        levelMenu.position = ccp(xOffset, yOffset);

        levelMenu.tag = count+1;
        myMenu.position =ccp(0,300);
        [myMenu addChild:levelMenu];

        //testing to disable the button
       // [levelMenu setIsEnabled:false];

    }

-(void) levelSelected:(CCMenuItemSprite*) sender {
int level = sender.tag;
NSLog(@"test button number %d",level);
}

1 Ответ

1 голос
/ 10 декабря 2011

Вы можете прочитать это сообщение

В Cocos2d с кнопками на нескольких слоях, как я могу контролировать, какая кнопка реагирует на прикосновения пользователя?

Я пытался, у меня это сработало

[_fireButton setIsEnabled:NO];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...