さあC言語(DXライブラリ)を使って超繊細、美麗、箱庭シューティングゲームを作ってみましょう 超初心者向けです 0.367
便利テクニック ハードディスク内から探し出さなくてもすぐにgame.exeを実行できるようgame.exeをタスクバーにピン止めしてみよう
便利テクニック ハードディスク内から探し出さなくてもすぐにgame.exeを実行できるようgame.exeをタスクバーにピン止めしてみよう
ソーラー「どう? どう?
もう分ったでしょう
ゲーム画面(コマンドプロンプト画面)に
DrawGraph(300, 230, graphichandle, TRUE);
をもちいて
画像を表示するには
2段階の過程が必要なことは
以下のプログラムをデバッグなしで実行しただけでは
ゲーム画面に飛行機の画像を表示することはできないんだよ」
👇
#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");
DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています
WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません
DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます
return 0; // プログラムを終了します
}
プログラムの実行結果
https://solalion.blogspot.com/2021/07/blog-post_19.html
(飛行機の画像は表示されていませんね)
ソーラー「いままで
Visual Studioの画面の上部のメニューから
デバッグ(D)
を
選択
クリックして
表示されるメニュー画面から
デバッグなしで開始(H)
をクリックして
プログラムを実行してきましたが
その方法では
ゲーム画面(コマンドプロンプト画面)に
DrawGraph(300, 230, graphichandle, TRUE);
をもちいて
飛行機の画像を表示することはできないんです」
マックス「ふはは
もうそれについては学習済みだー
DrawGraph(300, 230, graphichandle, TRUE);
をもちいて
飛行機の画像を表示するには
2段階のプログラムの実行過程が必要なんだろう
まず
第一段階は
😊いままで通り(*´▽`*)
Visual Studioの画面の上部のメニューから
デバッグ(D)
を
選択
クリックして
表示されるメニュー画面から
デバッグなしで開始(H)
をクリックして
プログラムを実行する
このとき
DrawGraph(300, 230, graphichandle, TRUE);
が実行されているが
ゲーム画面は真っ黒なままで何も表示されないっと(*´▽`*)
ところで
このとき
exeファイルは生成されているんだったな(*^_^*)」
ソーラー「その通りなんです
その
生成された
exeファイルが大事なんです
で
第2段階です
コンピューターのハードディスクの中から
exeファイルのある場所を探し出します
あとは探し出した
🌞exeファイルを直接クリックする🌞
と
ゲーム画面(コマンドプロンプト画面)に
DrawGraph(300, 230, graphichandle, TRUE);
をもちいて
飛行機の画像が表示されることになります」
マックス「もう楽勝だな」
ソーラー「どう? どう?
ゲーム画面(コマンドプロンプト画面)に
DrawGraph(300, 230, graphichandle, TRUE);
をもちいて
飛行機の画像を表示するには
2段階の過程が必要なことは
以下のプログラムを実行しただけでは
ゲーム画面に画像を表示することはできないんだよ」
👇
#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");
DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています
WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません
DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます
return 0; // プログラムを終了します
}
プログラムの実行結果
https://solalion.blogspot.com/2021/07/blog-post_19.html
(飛行機の画像は表示されていませんね)
マックス「2段階か・・・
ところでなあ
デバッグなしで開始(H)
をクリックして
プログラムを実行する
その後
///////////////////////////////////////////////////////////
コンピューターのハードディスクの中から
exeファイルのある場所を探し出します
あとは探し出した
🌞exeファイルを直接クリックする🌞
と
ゲーム画面(コマンドプロンプト画面)に
DrawGraph(300, 230, graphichandle, TRUE);
をもちいて
飛行機の画像が表示されることになります
///////////////////////////////////////////////////////////
ってあるが
//////////////////////////////////////////////
コンピューターのハードディスクの中から
exeファイルのある場所を探し出します
//////////////////////////////////////////////
って
結構大変じゃないか
俺たちは
gameという名前のプロジェクト
で
プログラムを作成しているので
プログラムを実行したとき
生成される
exeファイルの名前は
game.exeファイルとなるんだが
そもそも
game.exeファイルのある場所が
Cドライブの中の
Usersフォルダの中の
solarフォルダの中の
sourceフォルダの中の
reposフォルダの中の
gameフォルダの中の
🌞Debugフォルダ🌞の中となっていることが
game.exeファイルのある場所に
たどりつくのは難しいんじゃないか?」
😊 😊 😊 😊 😊
おまけ
game.exeファイルへの完全パスは
(game.exeファイルへたどり着くための道は)
C:\Users\solar\source\repos\game\Debug\game.exe
となっています
😊 😊 😊 😊 😊
ソーラー「いや~その通りなんです」
マックス「
なんかこう
すぐに
game.exeファイルのある場所
にたどり着けないか?
いや
もっというと
game.exe専用のアイコンをクリックすると
簡単に
game.exeが実行されるみたいな
ショートカットみたいなの
そんなの
なんかないのか」
ソーラー「えへっ」
マックス「な、なんだ?」
ソーラー「うひっ」
solarplexuss「うへは」
マックス「な、何が起こっている?」
ソーラー「うふふ
game.exe専用のアイコンをクリックすると
簡単に
game.exeが実行されるですか・・・
実は
そのアイコンを
もう何回もみているんだよ~」
マックス「な、なにぃ?」
ソーラー「そのことを確認するために
まず
以下のプログラムをVisual Studioのエディタ画面に
書き込んでください
まだ
デバッグなしで実行してはいけません
👇
#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");
DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています
WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません
DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます
return 0; // プログラムを終了します
}
マックス「なになに?
Visual Studioのエディタ画面にこのプログラムを書き込めばいいのか?
・・・
プログラムを書き込んだぞ
その様子を示す画像にはこちらからアクセスできます
👇
https://solalion.blogspot.com/2021/09/blog-post_76.html
マックス「👆って
今更
Visual Studioのエディタ画面に
プログラムが書き込まれた画像を表示するんか~い」
ソーラー「
では
この画像をよく見ておいてね
👇
https://solalion.blogspot.com/2021/09/blog-post_76.html
では
今度は
いよいよ
Visual Studioのエディタ画面に
書き込まれた
このプログラムを実行してみましょう
👇
#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");
DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています
WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで WaitKey(); 以下の行の命令文は実行されません
DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます
return 0; // プログラムを終了します
}
プログラムの実行結果はこちらをご覧ください
👇
https://solalion.blogspot.com/2021/07/blog-post_19.html
マックス「なんだ
いつも通り
真っ黒な画面が表示されただけじゃないか?
このあと
コンピューターのハードディスクの中から
game.exeファイルのある場所を探し出して
クリックすれば
ちゃんとプログラムが実行され
飛行機の画像が表示されるんだろう
そういう仕組みだったな」
ソーラー「そうなんです
みんな
今 真っ黒い画面が表示されているけど
今 このときの
パソコン画面全体に注目してね
その画像はこちらです
👇
https://solalion.blogspot.com/2021/09/blog-post_43.html
(画像が見えにくい場合は画像をクリックすると拡大表示されます)
」
マックス「
??
ふつうに
ただ黒いゲーム画面が表示されているだけじゃないか?」
ソーラー「
プログラムを実行する前の画像と
👇
https://solalion.blogspot.com/2021/09/blog-post_76.html
プログラムを実行した後の画像では
👇
https://solalion.blogspot.com/2021/09/blog-post_43.html
違いがあります
その違いがわかりますか?」
solarplexuss「違い?
???」
マックス「違いって
黒いゲーム画面が表示されているかいないかだけの差じゃないか?」
ソーラー「ほんとお~?」
マックス「ううむ
おや?
プログラムを実行した後の画像では
👇
https://solalion.blogspot.com/2021/09/blog-post_43.html
何か
下の方に新しいアイコンが表示されていないか?」
その画像はこちらです
👇
https://solalion.blogspot.com/2021/09/blog-post_3.html
ソーラー「そう 白い四角形の中に
青い四角形が描かれているアイコンが表示されていますね」
solarplexuss「い、いつのまに」
ソーラー「このアイコンが表示されている場所はタスクバーといいます
ここには今実行されているアプリ(プログラム)が表示されることになります
そして
この白い四角形の中に
青い四角形が描かれているアイコンは
game.exeファイルを実行すると
表示されるアイコンなんです」
solarplexuss「へえ~」
ソーラー「そして
便利なことに
このアイコンをクリックすれば
game.exeファイルが実行されるんです
ですから
コンピューターのハードディスクの中から
game.exeファイルのある場所を探し出してクリックすることにより
game.exeファイルを実行しなくても
このアイコンをクリックすれば
game.exeファイルを実行することができるようになるんです
ただし
このアイコンは
game.exeファイルが実行されている間だけ表示されています
game.exeファイルの実行が終了すると
このアイコンは消えてしまいます
今は
WaitKey();
関数の実行により
何かキーボードから
ボタンが押されるまで
WaitKey();
以下の命令文
DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます
return 0; // プログラムを終了します
は実行されない状態になっています
このとき
真っ黒いゲーム画面が表示されたままですが
game.exeファイル自体は実行され続けています
ですので
この白い四角形の中に
青い四角形が描かれているアイコンは
消える事はありません
もし
何かキーボードから
ボタンが押されたなら
DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます
return 0; // プログラムを終了します
が実行されて
game.exeファイルの実行は終了することになります
このとき
真っ黒いゲーム画面も消えることになります
同時に
白い四角形の中に
青い四角形が描かれているアイコンも消去されます」
マックス「なるほど
このアイコンは
game.exeファイルの実行と連動しているわけだ」
ソーラー「試しに
何かキーを押して
game.exeファイルの実行を終了してみますか?
game.exeファイルの実行が終了すると
この白い四角形の中に
青い四角形が描かれているアイコンは消去されます
その様子を示す画像はこちらです
👇
https://solalion.blogspot.com/2021/09/blog-post_36.html
solarplexuss「あっほんとだ
白い四角形の中に
青い四角形が描かれているアイコンが
消去された!」
ソーラー「ここで
白い四角形の中に
青い四角形が描かれているアイコン
を表示するために
再びもう1回
今のプログラム(game.exeファイル)を実行してみましょう
#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");
DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています
WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで WaitKey(); 以下の行の命令文は実行されません
DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます
return 0; // プログラムを終了します
}
プログラムの実行結果
https://solalion.blogspot.com/2021/07/blog-post_19.html
solarplexuss「あっまた
白い四角形の中に
青い四角形が描かれているアイコン
が表示された!」
ソーラー「
game.exeファイルを実行したので
再び
白い四角形の中に
青い四角形が描かれているアイコンが表示されたね
このアイコンは
game.exeファイルが実行されている間だけ
表示されます
今はまだプログラムが実行されているので
白い四角形の中に
青い四角形が描かれているアイコンは表示されています
🌞ここで🌞
白い四角形の中に
青い四角形が描かれているアイコンを右クリックします
そして
表示されるメニュー画面から
タスクバーにピン止めする
という項目を
左クリックします
すると
game.exeファイルが終了しても
この
白い四角形の中に
青い四角形が描かれているアイコンは
消去されず
タスクバーに表示されたままになります」
solarplexuss「ほええ」
ソーラー「
このアイコンをクリックすれば
game.exeファイルが実行されるんです
アイコンをクリックすると
game.exeファイルが実行され
飛行機の画像が表示されることになります
その様子を示す画像はこちらです
👇
https://solalion.blogspot.com/2021/09/blog-post_41.html
👆
ほんと
アイコンをクリックするだけで
飛行機をゲーム画面に表示するプログラムを
実行し
飛行機をゲーム画面に表示できたね
つまり
もう
ソースコードを
デバッグなしで実行をして
game.exeファイルを作成したあと
飛行機の画像をゲーム画面に表示するのに
わざわざ
コンピューターのハードディスクの中から
game.exeファイルのある場所を探し出してクリックすることにより
game.exeファイルを実行しなくてもよくなるんです
どう
便利だね」
solarplexuss「タスクバーに
白い四角形の中に
青い四角形が描かれているアイコン
が表示されたままになるっていうのがいいね💖!」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます