¿Cómo se coloca un ccmenuitem con una clabel debajo?

En cocos2d-iphone, me gustaría usar un sprite para el elemento del botón de menú y me gustaría colocar una etiqueta debajo que describa el botón.

Sin embargo, no estoy seguro de cómo hacer esto.

Si intento hacer más botones/etiquetas y luego uso

[menu alignItemsHorizontallyWithPadding:1.5f];

La posición de los artículos es incorrecta.

De todos modos, aquí está mi código;

// 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];

preguntado el 03 de mayo de 12 a las 16:05

La razón por la que las etiquetas deben estar debajo de cada avatar es porque la etiqueta es el nombre de cada personaje/avatar. -

1 Respuestas

¿Estás seguro de que necesitas una etiqueta DEBAJO de tu sprite? Si entiendo bien, puede simplemente crear una instancia de CCMenuItemSprite, luego agregarle una etiqueta como un niño. algo como:

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];

contestado el 03 de mayo de 12 a las 17:05

Sí, tengo una serie de avatares y necesito poner el nombre del personaje debajo de cada avatar. Se acepta su respuesta. - Zardon

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.