トップページ > 記事閲覧
MakeScreenの中にMakeScreen
名前:PP 日時: 2020/09/19 14:56

MakeScreenの中にMakeScreenを入れて、それぞれのオブジェクトを動かしたのですが、 途中の{}でくくられている部分が点滅してしまいます。どうすればいいですか? #include "DxLib.h" #define PI 3.14159265358973 int time = 0; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); // ウィンドウモードに変更 if (DxLib_Init() == -1) return -1; while (!ProcessMessage()) { SetDrawScreen(DX_SCREEN_BACK); //描画先を裏画面に変更 ClearDrawScreen(); //裏画面のデータを全て削除 time++; int handle = MakeScreen(640, 480, TRUE); SetDrawScreen(handle); DrawBox(0, 0, 150, 150, GetColor(0, 0, 255), FALSE); { int cv = MakeScreen(640, 480, TRUE); SetDrawScreen(cv); DrawBox(200, 200, 320, 250, GetColor(255, 0, 255), TRUE); SetDrawScreen(DX_SCREEN_FRONT); DrawRotaGraph(320, 240, 1, time*3 * PI / 180, cv, FALSE); DeleteGraph(cv); } SetDrawScreen(DX_SCREEN_FRONT); DrawRotaGraph(320, 240, 1, time * PI / 180, handle, FALSE); DeleteGraph(handle); ScreenFlip(); //裏画面データを表画面へ反映 } DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }
メンテ

Page: 1 |

Re: MakeScreenの中にMakeScreen ( No.1 )
名前:コモリ 日時:2020/09/19 16:41

#include "DxLib.h" int time = 0; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); // ウィンドウモードに変更 if (DxLib_Init() == -1) return -1; //画像作成 int handle = MakeScreen(640, 480, TRUE); SetDrawScreen(handle); DrawBox(0, 0, 150, 150, GetColor(0, 0, 255), FALSE); int cv = MakeScreen(640, 480, TRUE); SetDrawScreen(cv); DrawBox(200, 200, 320, 250, GetColor(255, 0, 255), TRUE); //描画先を裏画面に変更 SetDrawScreen(DX_SCREEN_BACK); //メインループ while (!ProcessMessage()) { //裏画面のデータを全て削除 ClearDrawScreen(); //カウント time++; //裏画面に描画 DrawRotaGraph(320, 240, 1, time * 3 * DX_PI_F / 180, cv, TRUE); DrawRotaGraph(320, 240, 1, time * DX_PI_F / 180, handle, TRUE); ScreenFlip(); //裏画面データを表画面へ反映 } DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 } 点滅について SetDrawScreenでDX_SCREEN_FRONT(表画面)に描画していることが原因です。 SetDrawScreenにDX_SCREEN_BACK(裏画面)を指定して描画すると治ります。 余計なお節介かもしれないですが、繰り返し使用するもの(ココではMakeScreen)は、 メインループの外側に出した方が色々な面で良いと思います。 また、PIはDXライブラリの方でDX_PI_F、DX_PIとして定義されていますので使用すると楽ですよ。
メンテ
Re: MakeScreenの中にMakeScreen ( No.2 )
名前:PP(解決) 日時:2020/09/19 19:35

ありがとうございます!無事に解決しました!
メンテ

Page: 1 |

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

   クッキー保存