ホームへ戻る

 1.9章 ゲームプログラムの骨格の完成

 さて7章のプログラムで、ゲームプログラムの骨格が完成しました。

もうお決まりとして必ず書かなければならないコードは全て網羅しましたから、後は自分が好きなようにゲームに必要なコードを追加していけばよいだけです。

前章と同じコードをもう一度見てみましょう。


#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
        ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定

        int x = 0;
        int Handle;     // 画像格納用ハンドル
        Handle = LoadGraph( "画像/キャラクタ01.png" ); // 画像のロード

        // while( 裏画面を表画面に反映, メッセージ処理, 画面クリア )
        while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){

                DrawGraph( x, 100, Handle, TRUE ); //画像の描画
                x = x + 2; // xを2増やす

        }
        
        DxLib_End(); // DXライブラリ終了処理
        return 0;
}  

プログラムはwhile文内をグルグル回っています。

つまり、ゲームで毎フレーム必要な処理はこの赤字の部分に追加していけば良いのです。

表示する座標を変えて3つ画像を表示してみましょう。


#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
        ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定

        int x = 0;
        int Handle;     // 画像格納用ハンドル
        Handle = LoadGraph( "画像/キャラクタ01.png" ); // 画像のロード

        // while( 裏画面を表画面に反映, メッセージ処理, 画面クリア )
        while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){

                DrawGraph( x,   100, Handle, TRUE ); //画像の描画
                DrawGraph( x/2, 200, Handle, TRUE ); //画像の描画
                DrawGraph( x/4, 300, Handle, TRUE ); //画像の描画
                x = x + 2; // xを2増やす

        }
        
        DxLib_End(); // DXライブラリ終了処理
        return 0;
} 

実行結果



3つの画像が同時に動いている様子が確認出来ますね。

こうしてwhile文の中にゲームの中核となるコードを追加していくことでゲームを作っていきます。

つまり必要最小限のコードは以下のようになります。


#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
        ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定

        while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){

                //ここに処理を追加

        }
        
        DxLib_End(); // DXライブラリ終了処理
        return 0;
}  


→分からないことがあれば掲示板で質問して下さい


- Remical Soft -