Изменение метки / спрайта в CCMenu - PullRequest
1 голос
/ 21 января 2012

Я новичок в Cocos2D и столкнулся с проблемой при попытке реализовать CCMenu.Мне интересно, как изменить метку / спрайт в CCMenu после его добавления в слой.Код ниже - это то, что я пробовал до сих пор.

CGSize screenSize = [CCDirector sharedDirector].winSize;

    CCLabelTTF *label1 = [CCLabelTTF labelWithString:@"HELLO!!!" fontName:@"Arial" fontSize:20];
    CCLabelTTF *label2 = [CCLabelTTF labelWithString:@"BYE!!!" fontName:@"Arial" fontSize:20];
    CCMenuItemLabel *labelItem1 = [CCMenuItemLabel itemWithLabel:label1];
    [labelItem1 setTag:111];
    CCMenu *menu = [CCMenu menuWithItems:labelItem1, nil];

    [self addChild:menu];
    [menu setPosition:ccp(screenSize.width/2, screenSize.height/2)];
    [(CCMenuItemLabel*)[labelItem1 getChildByTag:111] setLabel:label2];

Я не могу понять, почему на экране все еще отображается «HELLO !!»вместо "до свидания !!!"Пожалуйста, помогите мне.Буду очень признателен за вашу помощь.

1 Ответ

1 голос
/ 21 января 2012

хммм, как я читаю, labelItem1 - потомок меню.Попробуйте

 [(CCMenuItemLabel*)[menu getChildByTag:111] setLabel:label2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...