Cocos2d-xのv2からv3への変換
基本・文字列・ラベルについて。
CCSprite *sprite = CCSprite::create("image.png");
CCLayer *layer = CCLayer::create();
etc...
//v2
CCString *string = CCString::create("文字列");
CCString *string = CCString::createWithFormat("数字:%d", 200);
//v3
std::string string = "文字列";
std::string string = StringUtils::format("数字:%d", 200);
//v2
CCLabelTTF *label = CCLabelTTF::create("ラベルの文字", "arial", 30);
CCLabelTTF *label = CCLabelTTF::create(CCString::createWithFormat("代入する値は:%d", 234)->getCString(), "arial", 30,
CCSize(200, 40), kCCTextAlignmentCenter, kCCVerticalTextAlignmentCenter);
CCLabelBMFont *label = CCLabelBMFont::create("ラベルの文字", "font.fnt");
//v3
CCLabelTTF *label = Label::createWithTTF("ラベルの文字", "arial.ttf", 30);
CCLabelTTF *label = Label::createWithTTF(StringUtils::format("代入する値は:%d", 234), "arial.ttf", 30, Size(200, 40),
TextHAlignment::CENTER, TextVAlignment::CENTER);
CCLabelTTF *label = Label::createWithBMFont("font.fnt", StringUtils::format("%d", needCount));
//TextHAlignmentのデフォルトはLEFT
//TextVAlignmentのデフォルトはTOP
ボタンの役割をするCCMenu・CCMenuItemはボタンタップ時の呼び出し方と呼び出し先の引数に注意。
ccc3はColor3Bに、ccpはVec2にそれぞれ変更
//v2
CCMenuItemImage *itemImage = CCMenuItemImage::create("btn.png", "btw_h.png", this,
menu_selector(HelloWorld::pushBtn));
itemImage->setPosition(ccp(10, 10));
itemImage->setTag(5);
CCMenu *menu = CCMenu::create(itemImage, NULL);
this->addChild(menu, 100);
//ボタンを押した時に実行されるメソッド
void HelloWorld::pushBtn(CCMenuItem *item) {
log("ボタンのtag:%d", item->getTag());
//ボタンのtag:5
}
//v3
MenuItemImage *itemImage = MenuItemImage::create("btn.png", "btn_h.png", CC_CALLBACK_1(HelloWorld::pushBtn,
this));
itemImage->setPosition(Vec2(10, 10));
itemImage->setTag(5);
Menu *menu = Menu::create(itemImage, NULL);
this->addChild(menu, 100);
//ボタンを押した時に実行されるメソッド
void HelloWorld::pushBtn(Ref *ref) {
MenuItem *item = dynamic_cast<MenuItem *>(ref);
log("ボタンのtag:%d", item->getTag());
//ボタンのtag:5
}
コメントをお書きください