CMyApplication Class を自動的に構築する

テンプレート機能を使って CMyApplication Class の通信プログラムを自動的に構築します。
DirectX 9.0 Summer 2004(.NET) からはテンプレート機能が無くなっています。
このプログラムは Windows XP & Visual C++ Ver 6.0 & DirectX 9.0 で作成しています。
自動的に構築されたプログラムが動作しない原因を究明するのに随分苦労しました。

前田稔(Maeda Minoru)の超初心者のプログラム入門

テンプレートを使った Play プロジェクトの作成

  1. [スタート][プログラム] から VC++ を起動して下さい。
    VC++ のアイコンをダブルクリックして起動することもできます。
  2. [ファイル][新規作成][プロジェクト]を選択すると新しいプロジェクトのウインドウが表示されます。
    [プロジェクトの種類]から[Visual C++ プロジェクト]を、[テンプレート]から[DirectX9 Visual C++ Wizard]を選択します。

  3. [Project Settings]のチェックを確認して下さい。
    Single document window と DirectPlay Peer-to-Peer 以外のチェックを外してプロジェクトを生成します。

  4. C:\DXSDK\Samples\C++\DirectPlay\SimplePeer から次のファイルをコピーしてきて下さい。
    SimplePeer.rc
    resource.h
  5. Play.rc を削除して SimplePeer.rc のファイル名を Play.rc に変更して下さい。
  6. 変更した Play.rc の 29, 295 行目のソースコードを変更して下さい。
        //CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST MOVEABLE PURE "SimplePeer.manifest"
    
        IDI_MAIN                ICON    DISCARDABLE     "directx.ico"
        
  7. resource.h に次の記述を追加変更して下さい。
        #define IDI_MAIN_ICON                   101
        #define IDR_MAIN_ACCEL                  113
        #define IDR_MENU                        141
        #define IDM_EXIT                        40006
        
  8. Play プロジェクトをビルドして下さい。

プロジェクトの実行方法です

  1. ネットワークの接続にはIPアドレスが必要になります。
    事前に IPCONFIG であなたが使っているパソコンの IP アドレスを調べておいて下さい。
    複数のパソコンがネットで接続されていれば申し分ないのですが、一台だけでもテストはできます。
  2. Play.exe を起動して HOST を立ち上げます。
    そのまま[OK]ボタンをクリックします。
  3. Create ボタンをクリックして新規セションを開設します。
  4. Create Game 画面が表示されます。
    Local Port に 12345 と入力して [OK] ボタンをクリックします。
    クライアントを起動するときにも同じポート番号を設定して下さい。
  5. しばらくすると HOST が起動されて DirectX の実行画面が表示されます。
    player(s) in session (Hosting) と表示されています。
  6. クライアントを起動してホストに接続します。
    もう一度 DxPlay.exe をダブルクリックで起動します。
    そのまま(DirectPlay8 TCP/IP Service Proviser)の状態で [OK] ボタンをクリックします。
  7. Start Search ボタンをクリックすると Remoto Address の DialogBox が表示されます。
  8. Hostname に HOST を立ち上げたパソコンの IP アドレスを、Port に 12345 とタイプして OK をクリックして下さい。
  9. NetWark が検索されて HOST がみつかれば [Join] が有効になります。
  10. Join ボタンをクリックしてセションに参加します。
  11. ←↑→↓ キーを押すと相手方のウインドウにキー情報が送信されます。
    送信側の画面には Local Arrow Keys: と Network Combined Keys の両方にキー情報が表示されます。
    受信側の画面には Network Combined Keys だけにキー情報が表示されます。
  12. Exit ボタンをクリックしてウインドウを閉じて下さい。

前田稔(Maeda Minoru)の超初心者のプログラム入門

超初心者のプログラム入門(DirectX9 game program)

超初心者のプログラム入門(DirectX10 game program)