さあC言語(DXライブラリ)を使って超繊細、美麗、箱庭シューティングゲームを作ってみましょう 超初心者向けです 0.367
ゲーム画面に飛行機が飛んでいる場合でもあるキーを押すとプログラムの終了、つまりゲームが終了できるようにした~い
ゲーム画面に飛行機が飛んでいる場合でもあるキーを押すとプログラムの終了、つまりゲームが終了できるようにした~い
ソーラー「わあ ちゃんと
プログラムを実行することができたね
for{}文をwhile{}文に書き換えることができたね」
for{}文をwhile{}文で書き換えたプログラムはこちらです
👇
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
ChangeWindowMode(TRUE); // ウインドウモードに設定します
if (DxLib_Init() == -1) // DXライブラリを初期化処理しています
{
return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します
}
int graphichandle;
graphichandle = LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");
SetDrawScreen(DX_SCREEN_BACK);//👈🌞SetDrawScreen関数です
int x=0;
while(x< 640){
ProcessMessage();//👈ここです ここにProcessMessage();を記述しました
DrawBox(100, 100, 500, 300, GetColor(0, 255, 255), TRUE);
DrawGraph(x, 230, graphichandle, TRUE);
ScreenFlip();
ClearDrawScreen();
x++;
};
WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません
DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます
return 0; // プログラムを終了します
}
デバッグなしで実行をしてから一度プログラムを終了し
生成されたexeファイルをハードディスクから探し出しクリックする方法により得られたプログラムの実行結果はこちらです
👇
https://youtu.be/YAC-j31RGl8
マックス「このプログラムは
x< 640
が成立している間
while{}文のブロック{}内の命令文
👇
ProcessMessage();//👈ここです ここにProcessMessage();を記述しました
DrawBox(100, 100, 500, 300, GetColor(0, 255, 255), TRUE);
DrawGraph(x, 230, graphichandle, TRUE);
ScreenFlip();
ClearDrawScreen();
x++;
👆
が繰り返し実行されるわけだ
このとき飛行機が右に飛んでいく様子がゲーム画面に表示される
もちろんのことだが
while(x< 640)
と
条件式が
x< 640
に
なっているので
飛行機が画面の外にでるまでは
プログラムの実行はとまることはない
画面の横幅は640ドットだからな ふはは
while{}文の実行が終わった後は
WaitKey();
の実行により
なにかキーを押されるまで
プログラムの実行が止まってしまうわけだ
ところで
普通のゲームでは
あるキーを押すと
プログラムの実行が終了
つまり
ゲームが終了したりするだろう
俺はそれができるようにしたいんだよ
ゲーム画面に飛行機が飛んでいる途中でも
あるキーを押すと
プログラムの実行が終了するようにできないか?」
solarplexuss「そういえば
そうだよね
ふつう
ゲームには
ゲーム途中でも
あるキーを押すと
ゲームが終了する機能があるよね」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます