機能の追加の仕方
新しい機能を追加するときはすでにあるファイルに書き足す方法と新しいファイルを追加し、それに書き足す方法とがあります。前者は無説明でも見よう見まねで追加できると思います。ここでは新しいファイルを追加する方法を紹介します。ここでのファイルとは、ソースファイルとヘッダーファイルの2つをあわせたものとします。
新しいファイルを追加する状況というのは主にゲームメインの処理に書き足すときになると思います。ここではシューティングゲームを例に考えて見ます。
シューティングゲームに必要な機能として、プレイヤーの制御、敵の制御がありますね。この場合、プレイヤーを制御するファイルと敵を制御するファイルをそれぞれ追加してやると管理が楽になり、ソースも見やすくなります。プレイヤーの制御のためのソースファイルとヘッダーファイルを追加する方法を紹介します。
シューティングゲームに必要な機能として、プレイヤーの制御、敵の制御がありますね。この場合、プレイヤーを制御するファイルと敵を制御するファイルをそれぞれ追加してやると管理が楽になり、ソースも見やすくなります。プレイヤーの制御のためのソースファイルとヘッダーファイルを追加する方法を紹介します。
新しいファイルを追加する方法
まずはplayer.cppを追加します。『ソリューションエクスプローラー』『ソースファイル』の『game』を右クリック、『追加』『新しい項目』から『C++ファイル』を選択。ファイル名は『player』場所は『~プロジェクト名¥source』にして『追加』します。
次にplayer.hを追加します。『ソリューションエクスプローラー』『ヘッダーファイル』の『game』を右クリック、『追加』『新しい項目』から『ヘッダーファイル』を選択。ファイル名は『player』場所は『~プロジェクト名¥source』にして『追加』します。
場所を間違えるとうまく動作しません。注意しましょう。
次にplayer.hを追加します。『ソリューションエクスプローラー』『ヘッダーファイル』の『game』を右クリック、『追加』『新しい項目』から『ヘッダーファイル』を選択。ファイル名は『player』場所は『~プロジェクト名¥source』にして『追加』します。
場所を間違えるとうまく動作しません。注意しましょう。
ここからはファイルに書き足す方法
ヒントです。細かいやり方は書いてません。
- ヘッダーファイルにインクルードガードを書き足す(他のヘッダーファイルの先頭のやつをコピペして、英大文字を書き換えればよい)
- main.hにそのヘッダーファイルをインクルードする。他のインクルード文の見よう見真似で出来るはず。
コンパイル → エラーでincludeファイルを開けませんとか見つかりませんとか → 上の追加のとき、場所を間違えた
- ヘッダーファイルにSPlayer構造体を書き足す。他のヘッダーファイルを見ればなんとなく分かるはず。
- ソースファイルにSPlayer構造体の関数の定義をかく。他のソースファイルを見ればなんとなく分かるはず。
- global.hに構造体の宣言をする。他の構造体の宣言を見ればなんとなく分かるはず。
- それぞれの関数を必要な場所に書き足す。(Init関数やFirstInit関数をそれぞれの場所に書き足すなど)
こんな感じです。
管理しやすくするために、左のソリューションエクスプローラーのソースファイルもフィルタを使って階層わけするといいでしょう。この場合は新しくgameMainフィルタを作成し、gameMain.cpp,player.cpp,enemy.cppを入れてやればいいでしょう。新しい変数などを追加するときは出来るだけ構造体のメンバ変数にする形で作りましょう。ただの変数の形で追加していくと膨大な数になり、管理しにくくなります。