さあC言語(DXライブラリ)を使って超繊細、美麗、箱庭シューティングゲームを作ってみましょう 超初心者向けです 0.367
DrawGraph(300, 230, graphichandle, TRUE); をもちいて実際に画像をゲーム画面に表示してみましょう
DrawGraph(300, 230, graphichandle, TRUE); をもちいて実際に画像をゲーム画面に表示してみましょう
ソーラー「えへ そう
ゲーム画面(コマンドプロンプト画面)に
DrawGraph(300, 230, graphichandle, TRUE);
をもちいて
画像を表示するには
2段階の過程が必要なんだよ
まず
DrawGraph(300, 230, graphichandle, TRUE);
をもちいたプログラムを記述します」
👇
#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の画面の上部のメニューから
デバッグ(D)
を
選択
クリックして
表示されるメニュー画面から
デバッグなしで開始(H)
をクリックして
[
上記のプログラムを実行します
int graphichandle;
graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");
DrawGraph(300, 230, graphichandle, TRUE);
が実行されているはずですが
ソーラーが描いた飛行機.bmpファイルに保存された画像がゲーム画面に表示されることはなく
やはり
ゲーム画面は真っ黒なままで何も表示されません
以下を参照してね
👇
プログラムの実行結果
https://solalion.blogspot.com/2021/07/blog-post_19.html
でも
このプログラムを実行する
exeファイル
は
生成され
ハードディスクのどこかに保存されています
exeファイル
が実行されたからこそ
今
画面に
真っ黒な画面が表示されています
今の
🌞exeファイルを生成しexeファイルのハードディスクへの保存🌞
で
第1段階の終了となります
次は
第2段階です
コンピューターのハードディスクの中から
今、作製されたexeファイルのある場所を探し出します」
マックス「作製されたexeファイルのある場所ってどこだ?」
ソーラー「以前のエピソードでも
解説されましたが
私たちの場合
プロジェクト名をgameに設定したので
生成されるexeファイルの名前は
gameとなります
ですので
game.exeファイルのある場所を探すことになります
game.exeファイルのある場所は
Cドライブの中の
Usersフォルダの中の
solarフォルダの中の
sourceフォルダの中の
reposフォルダの中の
gameフォルダの中の
🌞Debugフォルダ🌞の中となっています
game.exeファイルへの完全パスは
(game.exeファイルへたどり着くための道は)
C:\Users\solar\source\repos\game\Debug\game.exe
となっています
その様子はこちらです
👇
https://solalion.blogspot.com/2021/07/blog-post_89.html
ご注意🍊
私はプロジェクト名をgameにしましたが
たとえば
プロジェクト名をappleにしたなら
生成されるexeファイルの名前は
appleとなります
apple.exeファイルのある場所は
Cドライブの中の
Usersフォルダの中の
solarフォルダの中の
sourceフォルダの中の
reposフォルダの中の
appleフォルダの中の
🌞Debugフォルダ🌞の中となっています
apple.exeファイルへの完全パスは
(apple.exeファイルへたどり着くための道は)
C:\Users\solar\source\repos\
となります
マックス「game.exeファイルみ~つけたあ」
ソーラー「あとは
この
game.exeファイルをクリックするだけで
game.exe
が実行されることになります
すると
今度は
int graphichandle;
graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");
DrawGraph(300, 230, graphichandle, TRUE);
が
ちゃんと実行され
今度こそ
ソーラーが描いた飛行機.bmpファイルに保存された画像が
ゲーム画面に表示されることになります
その様子はこちらです
👇
https://solalion.blogspot.com/2021/07/blog-post_38.html
」
マックス「・・・やったな・・・
ついに
ソーラーが描いた飛行機がゲーム画面に表示されたな・・・」
solarplexuss「ねえ ねえ
なんで
第一段階の
デバッグなしで実行
を実行したとき
は
ソーラーが描いた飛行機.bmpファイルに保存された画像が
ゲーム画面に表示されなかったのかな?
」
ソーラー「おそらくなんだけど
デバッグなしで実行
を実行したとき
は
int graphichandle;
graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");
によって
ソーラーが描いた飛行機.bmpファイルに保存された画像に
グラフィックハンドル(整数値データ)は割り当てられ
int型の変数graphichandleにグラフィックハンドル(整数値データ)
が代入されるんだけど
DrawGraph(300, 230, graphichandle, TRUE);
の実行の際
どうも
DrawGraph関数は
ソーラーが描いた飛行機.bmpファイルに保存された画像に
アクセスできていないみたいなんだ
なんでだろう?
不思議だね😊」
マックス「もしかして
DrawGraph関数は
グラフィックハンドル(整数値データ)
を引数に用いることにより
グラフィックハンドル(整数値データ)が割り当てられた画像を表示するのか?」
ソーラー「そうなんです
DrawGraph(300, 230, graphichandle, TRUE);
のように
DrawGraph関数の実行において
DrawGraph関数の第3引数
に
画像データに割り振られたグラフィックハンドル(整数値データ)
もしくは
画像データに割り振られたグラフィックハンドル(整数値データ)
を格納した変数
を代入することにより
グラフィックハンドル(整数値データ)が割り当てられた画像が
表示されることになります」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます