【COCOS2D-X】ステータスウィンドウをクラス化

見た目は変わらないんですが。

前回のままだといろいろ扱いづらいので、左のウィンドウをクラス化しました。

そして、今回は、前回と同じように表示できるところまで作成しました。

このウィンドウをタップすると、画面中央に詳細が表示されるような動きにしたいと思っています。

//
// Created by ntaki on 2020/12/12.
//

#ifndef PROJ_ANDROID_CHARAWINDOW_H
#define PROJ_ANDROID_CHARAWINDOW_H

#include "cocos2d.h"
#include "GameStatusData/Character.h"

class CharaWindow {
private:
    cocos2d::Vec2 point;
    cocos2d::Size size;
    cocos2d::Sprite* sprite;
    cocos2d::Label* hpLabel;
    cocos2d::Label* MpLabel;
public:
    CharaWindow();
    ~CharaWindow();

    void show(cocos2d::Scene* scene);
    void hide(cocos2d::Scene* scene);
    cocos2d::Size getSpriteContentSize();
    cocos2d::Vec2 getPosition();
    cocos2d::Size getSize();
    void setPosition(cocos2d::Vec2 vector);
    void setScale(float rate);
    void setParameter(Character* chara);
    bool isTouch(cocos2d::Vec2 vector);
};


#endif //PROJ_ANDROID_CHARAWINDOW_H
//
// Created by ntaki on 2020/12/12.
//

#include "CharaWindow.h"

CharaWindow::CharaWindow()
{
    sprite = cocos2d::Sprite::create("btn02_03_s_bl.png");
    if (sprite != nullptr)
    {
        sprite->setAnchorPoint(cocos2d::Vec2(0,0));
        auto offset = sprite->getContentSize().width / 10.0;
        hpLabel = cocos2d::Label::createWithTTF("Hello World", "fonts/msgothic.ttc", 6);
        if(hpLabel != nullptr)
        {
            hpLabel->setAnchorPoint(cocos2d::Vec2(0, 1));
            hpLabel->setPosition(cocos2d::Vec2(0, sprite->getContentSize().height));
            sprite->addChild(hpLabel);
        }
        MpLabel = cocos2d::Label::createWithTTF("Hello World", "fonts/msgothic.ttc", 6);
        if(MpLabel != nullptr)
        {
            MpLabel->setAnchorPoint(cocos2d::Vec2(0, 1));
            MpLabel->setPosition(cocos2d::Vec2(0, sprite->getContentSize().height - 1 * hpLabel->getContentSize().height));
            sprite->addChild(MpLabel);
        }
    }
}

CharaWindow::~CharaWindow()
{
}

void CharaWindow::setPosition(cocos2d::Vec2 vector)
{
    if (sprite != nullptr)
    {
        point = vector;
        sprite->setPosition(point);
    }
}

void CharaWindow::setScale(float rate)
{
    if (sprite != nullptr)
    {
        sprite->setScale(rate);
        size = cocos2d::Size(sprite->getContentSize().width * rate, sprite->getContentSize().height * rate);
    }
}

void CharaWindow::show(cocos2d::Scene* scene)
{
    if (sprite != nullptr && scene != nullptr)
    {
        scene->addChild(sprite, 1);
    }
}

void CharaWindow::hide(cocos2d::Scene *scene)
{
    if (sprite != nullptr && scene != nullptr)
    {
        scene->removeChild(sprite, false);
    }
}

cocos2d::Vec2 CharaWindow::getPosition()
{
    return point;
}

cocos2d::Size CharaWindow::getSize()
{
    return size;
}

cocos2d::Size CharaWindow::getSpriteContentSize()
{
    if (sprite != nullptr)
    {
        return sprite->getContentSize();
    }
}

void CharaWindow::setParameter(Character* chara)
{
    auto hpStr = cocos2d::String();
    hpStr.appendWithFormat("HP : %d", chara->MaxHp);
    hpLabel->setString(hpStr.getCString());

    auto mpStr = cocos2d::String();
    mpStr.appendWithFormat("MP : %d", chara->MaxMp);
    MpLabel->setString(mpStr.getCString());
}

bool CharaWindow::isTouch(cocos2d::Vec2 vector)
{
    return false;
}
    CharaWindow* window[4];
    auto chara = GameStatus::GetGameData()->Charactors->begin();
    for(int i = 0; i < 4; i++) {
        window[i] = new CharaWindow();
        window[i]->setParameter(chara.operator*());
        window[i]->setScale((visibleSize.height / 4) / window[i]->getSpriteContentSize().height);
        window[i]->setPosition(Vec2(xpos + origin.x, origin.y + window[i]->getSize().height * i));
        window[i]->show(this);
        chara++;
    }

クラス化させることで、ウィンドウ表示処理がかなりスッキリしました。

このクラスの中で使用しているオブジェクトはnewで作成した物ではないので、cocos-2dx内部で適時ガベージコレクションされるでしょう。

経済ニュース(12/12)

ワクチン開発競争で“明暗”実用化の一方 計画見直しも – NHK NEWS WEB

フランスの製薬大手サノフィとイギリスの製薬大手グラクソ・スミスクラインは、開発中の新型コロナウイルスのワクチンについて、…

アップル AirPods Max 実機インプレ。従来とは異なる評価軸のヘッドホン – Engadget日本版

AirPods Maxの評価機が手元に届きました。

ゲノム編集食品「日本農業の変革点に」 農作物や魚…進む実用化 (産経新聞) – Yahoo!ニュース

遺伝情報を自在に改変するゲノム編集技術で開発された食品が来年に登場する見通しとなった。第1号として血圧の上昇を抑える「GABA(ギャバ)」という物質を豊富に含むトマトの流通・販売を厚生労働省の調査

ソフマップ通販で「2021年 新春福箱」の抽選受け付けスタート、13日まで – AKIBA PC Hotline!

ソフマップ版福袋「2021年 新春福箱」の購入申し込みが、通販サイト“ソフマップ・ドットコム”で11日(金)から始まっています。各商品は抽選での販売で、申し込み受け付け期間は13日(日) 19時59分まで。

GoTo、広島市除外検討 イート食事券は新規一時停止―広島県 – 時事通信ニュース

広島県の湯崎英彦知事は11日、新型コロナウイルスの感染が広島市で急拡大しているため、観光支援事業「Go To トラベル」について、同市発着分の除外を国に要請することを検討していると明らかにした。

“節約のため缶コーヒーやめた…”「新型コロナ」店舗やホテルへの影響は?(2020年12月11日放送「news every.」より) – 【公式】日テレNEWS

2020年12月11日放送「news every.」より#日テレ #newsevery #最新ニュース #新型コロナウイルス #COVID19◇日本テレビ報道局のSNSFacebook https://www.facebook.com/ntvnews24/Instagram https://www.instagr…

ローソン、単発バイトを導入 試験的に、店舗の急な欠員に対応 – goo.ne.jp

ローソンは11日、店舗で急な欠員が生じた際に、シフトを埋める数時間程度の単発アルバイトをオンラインで募集できる仕組みを試験的に導入すると発表した。店舗はシフトが始…

マイナンバーカードと免許証の一体化、’24年度末に前倒し – Impress Watch

政府は、マイナンバーカードと運転免許証の一体化の目標を前倒しした。当初2026年中の開始としていたが、2024年度末の一体化実現を目標とする。

ソフトバンクG、二足歩行ロボット開発会社をヒュンダイに売却 – TBS NEWS

ソフトバンクグループは、高機能なロボットを開発する子会社「ボストン・ダイナミクス」を、韓国の自動車大手ヒュンダイに売却すると発表しました。 ソフトバンクグループは、二足歩行で宙返りするロボットや犬のようになめらかに四足歩行を行うロボットなどを開発する子会社ボストン・ダイナミクスについて、保有する株式の大半を韓国のヒュンダイに売却すると発表しました。売却額はおよそ600億円で、来年6月に売却が完了する見込みです。ヒュンダイは、自動運転車の開発などでボストン・ダイナミクスの技術を活用したいとしています。  ソフトバン…

新型コロナ:ワクチン、重症化予防に効果 米でも使用承認へ – 日本経済新聞

日本経済新聞の電子版。日経や日経BPの提供する経済、企業、国際、政治、マーケット、情報・通信、社会など各分野のニュース。ビジネス、マネー、IT、スポーツ、住宅、キャリアなどの専門情報も満載。

ドコモ、eSIM対応の8型タブレット「dtab Compact d-42A」12月18日発売 – ITmedia

NTTドコモは、レノボ製の8型タブレット「dtab Compact d-42A」を発売。初心者でも扱いやすい「シンプルメニュー」や子供の顔や指紋で識別する「キッズモード」などを備えている。

ドイツ担当者に聞いた「ライカSL2-S」Q&Aレポート – デジカメ Watch

ライカカメラジャパンは12月11日、ミラーレスカメラ「ライカSL2-S」(12月17日発売・税別60万円)の新製品発表会を実施。関係者向けのライブ配信で、ドイツ本社と中継を繋いだQ&Aセッションもあった。

新型アウトランダー世界初公開!! 名門復活なるか 三菱SUV軍団が向かう道 – ベストカーWeb

公式が事前写真を公開!! 新型アウトランダーの登場は2021年2月。復活…は難しいかもしれませんが、名門三菱SUV軍団の中核となるモデルの事前情報をじっくりお知らせします!!

宇宙船・スターシップ爆発も…任務は成功?(2020年12月10日放送「news every.」より) – 【公式】日テレNEWS

9日、アメリカ・テキサス州から打ち上げられた、宇宙船「スターシップ」。火星への有人飛行を目指して開発中で、飛行試験が行われました。(2020年12月10日放送「news every.」より)#日テレ #newsevery #最新ニュース #新型コロナウイルス #COVID19◇日本テレビ報道局のSNSFacebo…

【Amazon年末セール】マスクのセール商品が登場 日本製マスクややアルコール除菌スプレーなど買い置きのチャンス – ITmedia

Amazon「年末の贈り物セール」(12月11日~12月14日)に日本製を含むマスクやアルコール除菌スプレーなど衛生用品のセール商品が登場。年末を前にマスクを買い置きする機会です。

JAL、国際線5路線で再開・増便 羽田〜ロンドン線深夜便など – TRAICY(トライシー)

日本航空(JAL)は、東京/羽田〜ロンドン線の深夜便と東京/羽田〜シンガポール線を再開するなど、国際線の運航計画を見直す。 東京/羽田〜ロンドン線の深夜便は、12月16日・18日・23日と2021年1月4日・5日・10日に運航する。航空券の販売は11月27日より開始している。

AMDの最速GPU「Radeon RX 6900 XT」がデビュー、リファレンスモデルが発売 – AKIBA PC Hotline!

AMDのハイエンドGPU「Radeon RX 6900 XT」を搭載したビデオカードが各社から発売された。

消毒液の濃度が大幅不足 成分が検出できないものも – テレビ朝日

次亜塩素酸水とアルコール7種類で濃度が不足していました。

 アイビューティが販売する「次亜塩パワー」やEVOLUTIONの「MASKGUARD」など6種類の次亜塩素酸水とマグファインの「アルコール65スプレー」について、消費者庁は濃度が表示よりも大幅に不足していたと発表しました。なかには成分が全く検出できなかったものもありました。これらが景品表示法に違反するとして、消費者庁は7社に対して再発防止を命じました。各社は表示を削除したり、販売を停止するなどの対応を取っているということです。

インパクトが強すぎたドコモの「ahamo(アハモ)」/メインブランドの値下げを求める武田総務大臣 – ITmedia

NTTドコモが新しい料金プラン「ahamo(アハモ)」を発表。大手キャリアが「20GBで2980円」という価格を打ち出したことは、非常に強烈なインパクトを与えました。

ホンダ、交換式バッテリー採用の ジャイロe:を市販へ – 価格.com

ホンダは12月11日、交換式バッテリー「ホンダモバイルパワーパック」を使用したビジネス用電動三輪スクーターの市販予定車として『ジャイロe:』『ジャイロキャノピーe:』を発表した。ホンダは、2020年4月より法人向けに販売しているビジネス用…

ITニュース(12/12)

Amazonデバイスの不思議 – PC Watch

似ているのに違うものは世のなかにたくさんある。見かけも中身もほとんど同じに見えるのに、できることが違うというのはスマートデバイスではよくあることで、ビジネスモデルとソフトウェアが機能を決めているのだということを実感する。

ソフトバンクG、犬型ロボのBoston Dynamicsを売却 韓国Hyundaiに約915億円で(ITmedia NEWS) – Yahoo!ニュース

ソフトバンクグループ(SBG)は12月11日、傘下のロボットメーカー米Boston Dynamicsを韓国Hyundai Motor Groupに売却すると正式発表した。株式の80%を約8億800

こうすればスマートウォッチで好きな音楽が聴けちゃうよ!【メーカー別】 – GIZMODO JAPAN

スマートウォッチで始める、新しいミュージックライフ。このごろはやりでイマドキ人気のスマートウォッチ(以下「スマウォ」)は、ウェアラブルデバイスの代表格といえるでしょう。今回はスマウォを使って音楽を聴く方法を、米Gizmodoがメーカー別に紹介していきます!ざっくり分けると、「ケータイをケータイするか否か」といったところでしょうか。

アップルから「AirPods Max」登場! KDDI、ドコモ「ahamo」への対抗策は? ほか『今週のASCII.jp注目ニュース ベスト5 』 2020年12月11日配信 – アスキー

★★★今週の注目NEWSランキング★★★第5位 「ポルシェらしさ」で電気自動車の行く末を照らすポルシェ・タイカン https://ascii.jp/elem/000/004/036/4036794/第4位 楽天モバイル、横幅約63mmでFeliCa搭載の「Rakuten Hand」発売 価格は2万円 https:…

【Amazonセール】HHKBの無刻印・USキーボードが、17Kでセールに登場。これを選ぶヤツぁ玄人だ! – GIZMODO JAPAN

Amazonタイムセールで、高級キーボード「Happy Hacking Keyboard」(HHKB)がセール中。今回は無刻印・英語配列・USB接続モデルの「Happy Hacking Keyboard Professional2」の白と墨がお安くなっています。

アプリ『ニーア リィンカーネーション』サービス開始時期が変更に – 電撃オンライン

iOS/Android用アプリ『NieR Re[in]carnation(ニーア リィンカーネーション)』のサービス開始時期が、2020年内から2021年前半に変更になりました。

無料プランのはずがたった1日の利用で750万円をGoogleから請求された企業が破産寸前に – GIGAZINE

ウェブサイトやアプリケーションを簡単に構築できるクラウドサービスは便利なものですが、その課金システムは非常に複雑です。通信量や利用した計算リソースに応じて課金する従量課金制のサービスもあれば、条件を満たすことで無料で利用できるサービスもあります。そんなクラウドサービスの無料プランを利用したつもりが、7万2000ドル(約750万円)を請求され倒産寸前に追い込まれたと、ベンチャー企業の創設者が当時の状況をブログに吐露しています。

武田大臣、KDDIなどの乗り換え手数料撤廃を「一定の成果」と評価 NHK受信料引き下げにも注文 – ITmedia

武田良太総務相がKDDIとソフトバンクがメインブランドからサブブランドへの乗り換え手数料を撤廃したことに対し、「改善に向けて一定の成果が出た」との見解を示した。

テレワークとディスプレイ、テレワークと電気代を考える(ITmedia PC USER) – Yahoo!ニュース

過日、編集部から「テレワークの参考に、仕事環境を記事で紹介してほしい」と依頼があった。最初に頭をよぎったのは“掃除しなきゃ”。取材者と交渉して家まで密着取材をするテレビ番組で「部屋が汚いからダメ」

ドコモ、eSIM対応の8型タブレット「dtab Compact d-42A」12月18日発売 – ITmedia

NTTドコモは、レノボ製の8型タブレット「dtab Compact d-42A」を発売。初心者でも扱いやすい「シンプルメニュー」や子供の顔や指紋で識別する「キッズモード」などを備えている。

銀河もブラックホールも自動で見つかる、チート級の望遠鏡「Unistellar eVscope」 – ギズモード・ジャパン

星座早見表をみながら望遠鏡をちょっとずつ調整……。なんていう作業をほぼ肩代わりしてくれちゃうスマート望遠鏡「Unistellar eVscope」。普通にレビューする気だったけど、いざ星を見始めるとそんな気分じゃなくなっちゃいました。いい意味で「使っていることを忘れてもいい望遠鏡」です。出演:リチャード制作:大口…

欲しいガジェット大集合ベストバイ2020|Engadget Live – Engadget Japanese

日頃Engadget 日本版をご愛読いただきありがとうございます。Engadgetでは12月11日(金)19時からYouTubeとTwitter(Periscope)にて「ベストバイ2020」配信を実施予定です。物欲旺盛なEngadget編集部スタッフとライター陣が登壇して2020年のベストバイなガジェットを紹介…

宅配便の「再配達率」昨年より減少も今年4月から増加 生活様式の変化が影響? – 乗りものニュース

2020年度の削減目標達成!

現代自動車、米ロボベンチャー買収 ソフトバンクGから – 日本経済新聞

日本経済新聞の電子版。日経や日経BPの提供する経済、企業、国際、政治、マーケット、情報・通信、社会など各分野のニュース。ビジネス、マネー、IT、スポーツ、住宅、キャリアなどの専門情報も満載。

Twitter、ツイートをSnapchatのスタンプとして共有可能に – Engadget日本版

Twitterは12月11日、公開されているツイートをSnapchatのスタンプとして共有出来る機能を発表しました。すでにiOSでは利用可能となっています。

通勤往復200分の編集長が「Jabra Elite 85t」を使って気づいたこと – ギズモード・ジャパン

イヤホンが仕事の生産性をアゲる。今やそんな時代なのです。ステイホームやリモートワークの習慣が広まったことで、会議も対面ではなくリモート形式で行なわれる機会が増えてきました。でもリモート会議って、イヤホンを使わないと相手の声が聞き取れなかったり、パソコンのマイクが雑音を拾ったりと音声のストレスが多いですよね。つまり、リモート会議においてイヤホンは必須ガジェット! いまや1日中イヤホンを着けっぱなし

コロナ禍の商店街に“蹴り男” 防犯カメラが破壊行為を目撃 – FNNプライムオンライン

12月5日午後9時半ごろ、青森・弘前市の商店街にある防犯カメラがとらえた男。建物に近づくと、突然、1回、2回、柱にけりを入れた。2回目は思い切りけったのか、男自身が体勢を崩すほどの強さ。さらに、このけり男、破壊行為にも及んでいた。敷地内の通路に入ると、置かれていた鉢植えをけりで破壊した。男は、けった直後、壊れた鉢…

サイバーガジェットが年末年始セール。Switch用ゲームパッドなどが安価に – 4Gamer.net

サイバーガジェットオンラインショップ限定年末年始特別アウトレットセール 第3弾 配信元 サイバーガジェット 配信日 2020/12/11 サイバーガジェットオンラインショップ限定 年末年始特別アウトレットセール 第3弾スタート! 株式会社サイバーガジェット(本社:東京都千代田区)は、公式オンラインショップで開催中の『年末年始特別アウトレットセール』の第3弾として、2020年12月11日(金)正午より人気商品のアウトレット販売を開始いたします。 第…

格安SIMから“出戻り”宣言も ドコモ「ahamo」に乗り換え決めた人たち(マネーポストWEB) – Yahoo!ニュース

NTTドコモが発表した新料金プラン「ahamo(アハモ)」が、SNSを中心に大きな反響を呼んでいる。月額2980円(税別、以下同)で20GBまでのデータ通信が可能、20GBを超えた後も最大1Mbp

スマホをかざしアレルギー物質確認 消費者庁が実験(2020年12月10日) – ANNnewsCH

食品の原材料やアレルギー物質が手元のスマートフォンで確認できます。 消費者庁は商品のバーコードにスマートフォンをかざすと原材料名やアレルギー物質などが表示されるアプリの実証実験を今月から始めています。現在、約2000個の食品がデータベース化されていて、事前に情報を登録しておけばアレルギーがある食材を赤く表示し、似…