Как вы размещаете ccmenuitem с cclabel под ним?

В cocos2d-iphone я хотел бы использовать спрайт для элемента кнопки меню, и я бы хотел разместить под ним ярлык с описанием кнопки.

Однако я не уверен, как это сделать.

Если я попытаюсь сделать больше кнопок / меток, а затем использовать

[menu alignItemsHorizontallyWithPadding:1.5f];

Положение предметов неправильное.

Во всяком случае, вот мой код;

// Button
CCSprite *panel = [CCSprite spriteWithFile:@"panel.png"];        

// Menu
CCMenu *menu = [CCMenu menuWithItems:nil];


CCLabelBMFont *lblFont = [CCLabelBMFont labelWithString:@"Some text" fntFile:@"arial16.fnt"];

CCMenuItemLabel *mnuLabel = [CCMenuItemLabel itemWithLabel:lblFont];    

CCMenuItemSprite *mnuSprite = [CCMenuItemSprite itemFromNormalSprite:panel selectedSprite:nil disabledSprite:nil target:nil selector:nil];

[menu addChild:mnuSprite];
[menu addChild:mnuLabel];
[menu setPosition:ccp(winSize.width/2, winSize.height/2)];

[self addChild:menu z:1];

1 ответ

Решение

Вы уверены, что вам нужно пометить под спрайтом? Если я правильно понимаю, вы можете просто создать экземпляр CCMenuItemSprite, а затем добавить к нему метку как дочерний элемент. что-то вроде:

CCMenuItemSprite *mnuSprite = [CCMenuItemSprite itemFromNormalSprite:panel selectedSprite:nil disabledSprite:nil target:nil selector:nil];
CCLabelBMFont *lblFont = [CCLabelBMFont labelWithString:@"Some text" fntFile:@"arial16.fnt"];

[lblFont setAnchorPoint: ccp(0.f, 0.f)];
[mnuSprite addChild: lblFont];
Другие вопросы по тегам