にゃんころ部屋

ゲーム制作、日記などのブログ。
うどん県民、ブログ歴10年。

はや10月

2012-10-01 18:26:16 | C++(DXライブラリ)
DXライブラリを再度触り始めて3ヶ月ちょっと。
徐々にわかり始めてきた気がしないでもない今日この頃。
基本ツクールのRGSSが思考の土台になっているのでRGSSだとぱっとできたことでも言語が変わると
あれできないこれできないとか多いですよね。RGSSが言語()とかいうのは置いといて。

例えばScene_Battleの@active_battlerってインスタンス変数、行動中の敵味方を格納するインスタンスですけど
これC++だとどうかくのかわからなくて3日ぐらい色々考えたけどポリモーフィズムって概念がRGSSを前提に考えると重要ぽいですね。
シーン管理もそうなんですけど

class Base{ //RGSS=GameBattler
}

class A: public Base{ //RGSS=GameActor
}

class B: public Base{ //RGSS=GameEnemy
}

int main(){
Base* ActiveBattler; //基底クラスのポインタ
A Actor;
B Enemy;

ActiveBattler = NULL; //いるのかわからんけどNULLで初期化
ActiveBattler = Actor;
ActiveBattler = NULL; //同上
ActiveBattler = Enemy;

return 0;
}

RGSSだと私は変数の型とか全然気にしなかったのでどうしようか困りましたが多分これでおkなはず。
基底クラスのポインタに派生クラスを代入するとそれっぽい動きをするので多分これであってる。というか今書いてる。
「もっといい書き方があるよ」

はよ はよ
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする