がおまる開発ブログ

cocos2d-xやlevelhelperを使って iPhone/Androidアプリの作り方を解説します

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

cocos2d-xでCCMenuを使う

cocos2d-xにはCCMenuという便利な機能があります。
これを使うと、簡単にボタンの配置が出来ちゃうのが嬉しいですね〜

CCMenuにボタンを登録するのはCCMenuItemImageというものを同時に使います。
実際の使用例は以下の通りです。

ボタン画像のON/OFF画像と実際にタップした時の処理を指定します。

CCMenuItemImage* btnStart = CCMenuItemImage::create("btnStart_OFF.png",
"btnStart_ON.png",
this,
menu_selector(HelloWorld::startTapped));



僕のゲームではこんな感じで指定しています。

// スタートボタン
CCMenuItemImage* btnStart = CCMenuItemImage::create("btnStart_OFF.png",
"btnStart_ON.png",
this,
menu_selector(HelloWorld::startTapped));

// オススメアプリ
CCMenuItemImage* btnMyApps = CCMenuItemImage::create("btnMyApps_OFF.png",
"btnMyApps_ON.png",
this,
menu_selector(HelloWorld::myAppsTapped));

// ランキングボタン
CCMenuItemImage* btnRanking = CCMenuItemImage::create("btnRanking_OFF.png",
"btnRanking_ON.png",
this,
menu_selector(HelloWorld::rankingTapped));

// ゲームスタート2
CCMenuItemImage* btnStart2 = CCMenuItemImage::create("btnStart2_OFF.png",
"btnStart2_ON.png",
this,
menu_selector(HelloWorld::start2Tapped));

// サウンドボタンOFF(トグルスイッチ用)
CCMenuItemImage* btnSound_Off = CCMenuItemImage::create("btnSe_OFF.png",
"btnSe_OFF.png",
this,
NULL);

// サウンドボタンON(トグルスイッチ用)
CCMenuItemImage* btnSound_On = CCMenuItemImage::create("btnSe_ON.png",
"btnSe_ON.png",
this,
NULL);

// サウンドボタンのトグルスイッチ
CCMenuItemToggle* btnSound = CCMenuItemToggle::createWithTarget(this,
menu_selector(HelloWorld::soundTapped),
btnSound_Off,
btnSound_On,
NULL);

// つぶやきボタン
CCMenuItemImage* btnTwitter = CCMenuItemImage::create("btnTwitter_OFF.png",
"btnTwitter_ON.png",
this,
menu_selector(HelloWorld::twitterTapped));

// Facebookボタン
CCMenuItemImage* btnFace = CCMenuItemImage::create("btnFacebook_OFF.png",
"btnFacebook_ON.png",
this,
menu_selector(HelloWorld::facebookTapped));

// 並べるボタンの順番を指定
CCMenu* topMenu = CCMenu::create(btnStart, btnStart2, btnRanking, btnMyApps, NULL);

CCMenu* subMenu = CCMenu::create(btnFace, btnTwitter, btnSound, NULL);
subMenu->setPosition(ccp(s.width*0.4, s.height*0.75));

// 縦に配置(隙間を10ずつ空ける)
topMenu->alignItemsVerticallyWithPadding(10);
topMenu->setPosition(ccp(s.width/2, s.height*0.35));
this->addChild(topMenu);

// 横に配置(隙間を10ずつ空ける)
subMenu->alignItemsHorizontallyWithPadding(10);
subMenu->setScale(0.6);
subMenu->setAnchorPoint(ccp(1, 0.5));
this->addChild(subMenu);



実際に動かすとこんな感じ!
サクッと配置できるので便利ですね♪
Androidと比べると断然楽ちん!
s_20130212_0.png

スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://gaomar.blog.fc2.com/tb.php/56-d6f7b5ae
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。