まずは、キャラクター詳細ウィンドウに表示パラメータを追加しました。
さらに、右側のメニューボタンをキャラウィンドウと同じように構造体を使って配置します。
今後、タッチ判定処理を追加することになるので。
class HomeScene : public cocos2d::Scene
{
private:
CharaWindow window[4];
CharaDetailWindow detailWindow;
MenuButton homeButton;
MenuButton charaButton;
MenuButton equipButton;
MenuButton questButton;
homeButton.sprite = Sprite::create("btnHome.png");
if(homeButton.sprite != nullptr)
{
homeButton.sprite->setAnchorPoint(Vec2(1.0,1.0));
homeButton.point = Vec2(sprite->getPosition().x + sprite->getContentSize().width * scaleRate / 2 + origin.x, visibleSize.height + origin.y);
homeButton.sprite->setPosition(homeButton.point);
homeButton.size = Size(homeButton.sprite->getContentSize().width * buttonScale, homeButton.sprite->getContentSize().height * buttonScale);
homeButton.sprite->setScale(buttonScale);
buttonBase = visibleSize.height - homeButton.size.height;
this->addChild(homeButton.sprite, 1);
}
charaButton.sprite = Sprite::create("btnChara.png");
if (charaButton.sprite != nullptr)
{
charaButton.sprite->setAnchorPoint(Vec2(1.0,1.0));
charaButton.point = Vec2(sprite->getPosition().x + sprite->getContentSize().width * scaleRate / 2 + origin.x, buttonBase + origin.y);
charaButton.sprite->setPosition(charaButton.point);
charaButton.size = Size(charaButton.sprite->getContentSize().width * buttonScale, charaButton.sprite->getContentSize().height * buttonScale);
charaButton.sprite->setScale(buttonScale);
buttonBase -= charaButton.size.height;
this->addChild(charaButton.sprite, 1);
}
equipButton.sprite = Sprite::create("btnEquip.png");
if (equipButton.sprite != nullptr)
{
equipButton.sprite->setAnchorPoint(Vec2(1.0,1.0));
equipButton.point = Vec2(sprite->getPosition().x + sprite->getContentSize().width * scaleRate / 2 + origin.x, buttonBase + origin.y);
equipButton.sprite->setPosition(equipButton.point);
equipButton.size = Size(equipButton.sprite->getContentSize().width * buttonScale, equipButton.sprite->getContentSize().height * buttonScale);
equipButton.sprite->setScale(buttonScale);
buttonBase -= equipButton.size.height;
this->addChild(equipButton.sprite, 1);
}
questButton.sprite = Sprite::create("btnQuest.png");
if (questButton.sprite != nullptr)
{
questButton.sprite->setAnchorPoint(Vec2(1.0,1.0));
auto questButtonScale = buttonBase / questButton.sprite->getContentSize().height;
questButton.point = Vec2(sprite->getPosition().x + sprite->getContentSize().width * scaleRate / 2 + origin.x,
buttonBase + origin.y);
questButton.sprite->setPosition(questButton.point);
questButton.size = Size(questButton.sprite->getContentSize().width * questButtonScale, questButton.sprite->getContentSize().height * questButtonScale);
questButton.sprite->setScale(questButtonScale);
this->addChild(questButton.sprite, 1);
}
さて、次はタッチ判定でシーン切り替えと、クエストシーンの作成を行って行きます。
「【COCOS2D-X】メニューボタンも作り直す」への1件のフィードバック