2013年2月7日木曜日

【cocos2d】メニューのテンプレート

メニューのテンプレートをいくつか自分用にメモります。

CCMenuItemImageの場合

画像を使用したメニューです。
メニューアイテムの生成はCCMenuItemImageを使用しています。
CGSize winSize = [[CCDirector sharedDirector] winSize];

CCMenuItemImage *item = [CCMenuItemImage itemWithNormalImage:@"normalImage.png"
                                                        selectedImage:@"selectedImage.png"
                                                        disabledImage:@"disabledImage.png"
                                                        target:self
                                                        selector:@selector(menuPushed)];

/* アイテムは必要に応じて増やしてください */

CCMenu *menu = [CCMenu menuWithItems:item, nil];
menu.position=ccp(winSize.width/2, winSize.height/2);
[menu alignItemsHorizontallyWithPadding:10];
[menu alignItemsVerticallyWithPadding:10];
[self addChild:menu];

CCMenuItemFontの場合

文字だけのメニュー。
メニューアイテムの生成はCCMenuItemFontを使用しています。
CGSize winSize = [[CCDirector sharedDirector] winSize];

CCMenuItemFont *item1 = [CCMenuItemFont itemWithString:@"Next" 
                                                        target:self 
                                                        selector:@selector(menuPushed1)];
CCMenuItemFont *item2 = [CCMenuItemFont itemWithString: @"Back" 
                                                        target:self 
                                                        selector:@selector(menuPushed2)];

/* アイテムは必要に応じて増やしてください */

CCMenu *menu = [CCMenu menuWithItems:item1, item2, nil];
menu.position=ccp(winSize.width/2, winSize.height/2);
[myMenu alignItemsVertically];  // 縦揃え
//[menu alignItemsHorizontally];  // 横揃え
[self addChild:menu];

CCMenuItemSpriteの場合

CCSpriteFrameCacheから画像を読み込み、メニューアイテムとして使用しています。
メニューアイテムの生成はCCMenuItemSpriteを使用しています。
CGSize winSize = [[CCDirector sharedDirector] winSize];

//画像のメタ情報をキャッシュとして保持
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"sheet.plist"];

// SpriteFrameCacheからCCSpriteオブジェクトを取得
CCSprite *normalImage = [CCSprite spriteWithSpriteFrameName:@"normalImage.png"];
CCSprite *selectedImage = [CCSprite spriteWithSpriteFrameName:@"selectedImage.png"];
CCSprite *disabledImage = [CCSprite spriteWithSpriteFrameName:@"disabledImage.png"];

CCMenuItemSprite *item = [CCMenuItemSprite itemWithNormalSprite:normalImage
                                                        selectedSprite:selectedImage
                                                        disabledSprite:disabledImage
                                                        target:self
                                                        selector:@selector(menuPushed)];

/* アイテムは必要に応じて増やしてください */

CCMenu *menu = [CCMenu menuWithItems:item, nil];
menu.position=ccp(winSize.width/2, winSize.height/2);
[self addChild:menu z:0];
注: 画像のメタ情報ファイル"sheet.plist"は「Zwoptex」で作成しました。

追記:2013/02/19

CCMenuItemLabelの場合

ラベル、CCLabelTTFを使った場合です。
メニューアイテムの生成はCCMenuItemLabelを使用しています。
CGSize winSize = [[CCDirector sharedDirector] winSize];

CCLabelTTF *label = [CCLabelTTF labelWithString:@"Play game" fontName:@"Helvetica" fontSize:36];
CCMenuItemLabel *item = [CCMenuItemLabel itemWithLabel:label
                                                        target:self
                                                        selector:@selector(menuPushed)];
CCMenu *menu = [CCMenu menuWithItems:item, nil];
menu.position =  ccp(winSize.width /2 , winSize.height/2);
[self addChild: menu];

0 件のコメント:

コメントを投稿