Skip to content
第01回 プレイヤーの表示と操作

1 / 4 プロジェクトの準備と構成 ​

このステップの目的

配布プロジェクトを展開し、実行環境と編集するファイルの構成を確認します。

初期プロジェクトの実行 ​

ダウンロードした01.zipを展開し、フォルダ内のShootingGame2D.slnをVisual Studio 2026で開きます。
プロジェクトを開いたら、以下の手順でビルドと実行を行ってください。

  1. ウィンドウ上部のビルド構成がDebugになっていることを確認します。
  2. ソリューションプラットフォームがx64になっていることを確認します。
  3. ソリューションエクスプローラーでShootingGame2Dがスタートアッププロジェクト(太字表記)になっていることを確認します。
  4. メニューから[デバッグ] → [デバッグの開始](またはF5キー)を選択して実行します。

ビルドが成功すると、640×480ピクセルの黒いウィンドウが表示されます。

プロジェクト01の初期実行画面プロジェクト01の初期実行画面

開始用プロジェクトでは、ゲームループからPlayerの更新と描画を呼び出す処理が実装されています。Player::Draw()の中身は未実装のため、起動時は黒い画面になります。確認できたら、Escapeキーを押して終了してください。

プロジェクトのフォルダ構成 ​

配布プロジェクトでは、プログラムの役割やリソースの種類ごとにフォルダを整理しています。

ファイル構成
  • 01
    • Source
      • Config
      • DxGame
      • Shooting
        • Tuning
    • Assets
      • Images
      • Sounds
    • x64
    • .vsbuild
フォルダ名格納されている内容主な役割
Source/ソースコード全般プロジェクトの全プログラムファイルを格納します
Source/DxGame共通基盤コード2Dベクトル(Vector2)や矩形(Rect)など汎用的な計算処理
Source/Shootingシューティング専用コードゲームループ、自機、入力処理、画像管理など作品固有の処理
Assets/Images Assets/Sounds外部リソースゲームで使用する画像(PNG)や効果音(WAV)ファイル
x64/Debug x64/Releaseビルド成果物コンパイルによって生成された実行ファイル(EXE)とコピーされた素材
.vsbuild中間ファイルVisual Studioがビルド時に一時的に生成する作業データ

自動生成されるフォルダ

x64と.vsbuildは、Visual Studioがビルド時に自動生成するフォルダです。手動で編集する必要はありません。

今回編集するファイル ​

第01回で実際にコードを追加・確認するファイルは以下の4つです。

ファイル構成
  • 01
    • Source
      • Shooting
        • Tuning
          • GameTuning.h
        • Game.h
        • Game.cpp
        • Player.h
        • Player.cpp
    • ShootingGame2D.sln
ファイル名第01回における主な役割と編集内容
Game.cpp実装済みのゲームループを読み、Playerの更新・描画が呼ばれる場所を確認します
Player.hプレイヤーを表すクラスの宣言と、内部で保持するメンバ変数を確認します
Player.cpp初期位置の設定、画像の描画、キー入力に応じた移動処理を実装します
GameTuning.hプレイヤーの初期配置座標や移動速度の設定値を確認し、値を変更して挙動の違いを観察します

Source/DxGame内の数学・図形型と、InputやImageManagerなどの補助機能は実装済みです。後のステップで順に学ぶため、今回は編集しません。

変数・関数とクラスの対応 ​

座標を変数に保持し、処理を関数に分ける考え方を使います。今回はプレイヤーの座標と、それを使う関数をクラスPlayerにまとめます。クラスから作った一つの実体がオブジェクトです。Gameは、このオブジェクトをplayerという名前で保持しています。

Player.hには、使える関数の名前・引数・戻り値などの宣言を書きます。Player.cppには、実際の処理を表す定義を書きます。

void Player::Reset()のPlayer::は「Playerに属する関数」を表し、player.Reset()の.は「playerの関数を呼ぶ」ための記法です。次のステップでは、この呼び出しをゲームループの中で探します。

画像リソースとファイルパス ​

プレイヤーを表示するには、画像ファイルをディスクから読み込む必要があります。この画像を画像リソースと呼びます。

プレイヤーの画像素材プレイヤーの画像素材

ファイルが保存されている場所を指し示す文字列をファイルパスと呼びます。
今回使用するプレイヤー画像(Player.png)の読み込みパスは、ImageManager.cppにあらかじめ登録されています。

ImageManager.cppcpp
ImageEntry { ImageId::Player, L"Assets/Images/Player.png" }

必須の素材が見つからない場合、プログラムはそのファイルのパスをエラー画面に表示して安全に終了します。画像の読み込みに失敗したら、表示されたパスを手がかりにAssets/Images/内のファイルを確認してください。

実行時における相対パスの仕組み

プログラムで指定するファイルパスは、実行時の作業フォルダを基準とした相対パスとして扱われます。作業フォルダはカレントディレクトリとも呼びます。

配布プロジェクトでは、ビルド時にプロジェクト直下のAssetsを実行ファイルと同じ出力先へ自動コピーします。出力先はx64/Debug/やx64/Release/です。この設定で、Visual Studioからのデバッグ実行と実行ファイルの直接起動の両方に対応します。

開発中も配布後も、Assets/Images/Player.pngという同じ相対パスで画像を読み込めます。実行ファイルの作成と素材の配置については、第11回で詳しく学びます。

チェックリスト
  • 配布プロジェクトを正常にビルドし、黒いウィンドウが表示されることを確認できる
  • Escapeキーを押してプログラムを正常終了できることを確認できる
  • Visual StudioのソリューションエクスプローラーからPlayer.cppやGameTuning.hを開くことができる