トップページ > 記事閲覧
ファイル分割
名前:おっさん 日時: 2023/12/30 11:02

Gazou.cpp #include "DxLib.h" void Gazou() { int GrHandle; int ItemHandle; // 画像の読み込み GrHandle = LoadGraph("C:/Shooting/Player.bmp"); ItemHandle = LoadGraph("C:/Shooting/item.jpg"); // 3D空間上に画像を描画 DrawBillboard3D(VGet(30.0f, 240.0f, 100.0f), 0.5f, 0.5f, 120.0f, 0.0f, GrHandle, TRUE); // 3D空間上に画像を描画 DrawBillboard3D(VGet(620.0f, 240.0f, 100.0f), 0.5f, 0.01f, 120.0f, 0.0f, ItemHandle, TRUE); } Gazou.h void Gazou(); main.cpp #include "DxLib.h" #include "Gazou.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定 while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) { void Gazou(); } DxLib_End(); // DXライブラリ終了処理 return 0; } 実行はできるのですが画像が表示されません。解決方法わかる方がいましたらご教授お願いします。
メンテ

Page: 1 |

Re: ファイル分割 ( No.1 )
名前:Ni 日時:2023/12/30 11:26

ざっと読んだだけなのですがGazou.cppにも #include "Gazou.h" を加えてみたら直るのではないでしょうか
メンテ
Re: ファイル分割 ( No.2 )
名前:おっさん 日時:2023/12/30 13:50

試してみたけど表示されないですね... 回答ありがとうございます。
メンテ
Re: ファイル分割 ( No.3 )
名前:Ni 日時:2023/12/30 14:20

似たコードを書いて実際に試してみました。 ループ内の関数呼び出しで void Gazou(); を Gazou(); にすれば描画自体はできると思います(void付きだと関数宣言と見なされる?)。ただ、関数内でLoadGraphしているためこのままでは毎ループ画像が読み込まれてしまいます。ループ内で使うなら読み込みは別の関数にして一回だけ呼び出した方がいいですね。
メンテ
Re: ファイル分割 ( No.4 )
名前:たろう 日時:2023/12/30 14:22

おっさんさんこんにちは、 LoadGraphを毎フレーム呼び出すような状態になっていませんか? たぶん近道はないので、使い方をわかりやすく紹介してくれている サイト(↓)などをまず目を通したほうが良いと思います。 ttps://dixq.net/g/ もしかすると私の早とちりで、 上級者だったらごめんなさいm(__)m
メンテ
Re: ファイル分割 ( No.5 )
名前:あっぷる 日時:2023/12/30 17:29

たろうさんのコメントと重複してしまいますが while ()の前にLoadGraphを行い、 while ()の後にDeleteGraphを行い、 while ()の中でDrawBillboard3Dを行う様に直せば 表示されると思います
メンテ
Re: ファイル分割 ( No.6 )
名前:おっさん 日時:2023/12/30 18:02

NIさん、アップルさん、たろうさん 回答ありがとうございます。解決しました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存