さあC言語(DXライブラリ)を使って超繊細、美麗、箱庭シューティングゲームを作ってみましょう 超初心者向けです 0.367
DrawGraph関数👉DrawGraph(300, 230, graphichandle, TRUE);の仕組みを考察してみよう
DrawGraph関数👉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段階・・・
ここはわかりにくいところだが・・・
ところで
そもそも
DrawGraph関数
👇
DrawGraph(300, 230, graphichandle, TRUE);
👆
の仕組みはどうなっているんだ?
この関数の説明がされていないが・・・」
ソーラー「あっ そうだった
まずは
DrawGraph関数
👇
DrawGraph(300, 230, graphichandle, TRUE);
の
第1引数として記述された
300
と
第2引数として記述された
230
についてですね
graphichandleには画像データに割り振られたグラフィックハンドル(整数値データ)
が
格納されています
DrawGraph(300, 230, graphichandle, TRUE);
が
実行されると
グラフィックハンドル(整数値データ)が割り当てられた
画像データがゲーム画面に表示されることになります
その際
画像データの左上の頂点は
(300,230)
となります
その様子はこちらです
👇
図1
https://solalion.blogspot.com/2021/07/blog-post_632.html
👇
図2
https://solalion.blogspot.com/2021/07/blog-post_294.html
マックス「今回は図が2つか・・・
サービスいいじゃんか」
solarplexuss「(300,230)を左上の頂点
として
画像データが表示されるんだね」
マックス「ということは
DrawGraph(300, 230, graphichandle, TRUE);
でなく
DrawGraph(0, 0, graphichandle, TRUE);
が実行されたら
(0,0)を左上の頂点
として
画像データが表示されるのか」
ソーラー「そのとおりです
そのことを示す図はこちらです
👇
https://solalion.blogspot.com/2021/07/blog-post_82.html
」
マックス「左の隅っこに表示された!
で
第3引数の
graphichandleはなんだ?」
solarplexuss「ええ
いまさら そこを聞くぅ?」
ソーラー「DrawGraph関数の第3引数には
表示したい
画像データに割り振られたグラフィックハンドル(整数値データ)
または
グラフィックハンドル(整数値データ)を格納した変数
を記述することになります
今のプログラムの場合
int graphichandle;
graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");
DrawGraph(300, 230, graphichandle, TRUE);
を実行しているので
int型の変数graphichandleには
ソーラーが描いた飛行機.bmpファイルに保存された画像データに
割り振られたグラフィックハンドル(整数値データ)が格納されています
そして
ソーラーが描いた飛行機.bmpファイルに保存された画像データ
が表示されることになります」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます