0

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

1 に答える 1

2

本当に、スプライトの下にラベルが必要ですか? 私が正しく理解していれば、 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];
于 2012-05-03T16:27:46.427 に答える