■今週のゲーム制作:ライブラリ制作とシナリオの独自システム開発
C++を学び始めて早8年。
過去のフォルダを漁っているといろんな関数作ってたな~としみじみ。一時は全ての関数を管理できるリストをExcelで作ったこともありました。
プロジェクトが膨らんでくるとクラスや関数の機能をすっきりまとめて後で見やすくしたい・・・というのが常ですよね。常ですよね?(圧
ということでそれがものすごく簡単にできるというDoxygenをようやく自分も導入しました。
使ってみてビックリ。名前空間・クラス・関数の前に説明をちょこっと書くだけでツリー構造にまとまっためちゃ見やすいHTMLを作ってくれちゃいます。
↓公式ページ
書き方は例えばこんな感じ
//名前空間 /*! @brief @~english Hoge hoge namespace.@~japanese ほげほげ名前空間@~ */ namespace namespace_hoge_hoge{} //クラス /*! @brief @~english Hoge hoge class.@~japanese ほげほげクラス@~ */ class class_hoge_hoge{}; //関数 /** * @brief @~english Hoge hoge function.@~japanese ほげほげ関数@~ * @param [in] nanka_num @~english Number.(Any OKeeey.)@~japanese なんか番号。(なんでもE)@~ * @return @~ Failed : 0, Success : 1 */ int32_t function_hoge_hoge(const int32_t& nanka_num){return 1;}
「@brief」は名前空間やクラス、関数の説明
「@param」は引数の説明
「@return」は戻り値の説明
「@~」「@~english」「@~japanese」は言語フィルタ(「@~」はすべての言語で表示されます)
という感じで書くことができます。
ほぼほぼこれだけですっきりしたドキュメントが作成できますが、コードの埋め込みなどの凝ったこともできるのでおすすめです!
くわしくタグを開設しているサイトもあるのでリンクを貼っておきます~。
出来上がりはこんな感じになりました(日本語で出力)
自作でDirectX11を叩いて一から作っていたライブラリの方はDirectXTKのおかげで何とか形になったので今作からさっそく使えるかもしれないです。やったー( ;∀;)
シェーダの勉強過程で行列や線形代数にちょこっと触れたので今回のシナリオシステムに使えそうないいアイデアが浮かびました。というわけで本編の完成をお楽しみに~!