トップページ > 記事閲覧
Android版:MakeScreenで作った画像がバグる
名前:Oomimi 日時: 2018/02/13 05:15

度々失礼いたします。 MakeScreenで作った画像がバグります。 Windows版だと正常に表示できますが、Android版だと表示がおかしくなります。 サンプルコード #include "DxLib.h" int makeGraph(int make_graph) { int make_tile = MakeScreen(60, 60, TRUE); SetDrawScreen(make_tile); DrawBox(0, 0, 5, 60, GetColor(255, 255, 50), TRUE); DrawBox(55, 0, 60, 60, GetColor(255, 255, 50), TRUE); DrawBox(5, 0, 55, 5, GetColor(255, 255, 50), TRUE); DrawBox(5, 55, 55, 60, GetColor(255, 255, 50), TRUE); make_graph = MakeScreen(600, 600, TRUE); SetDrawScreen(make_graph); for (int j = 0; j < 10; j++) { for (int i = 0; i < 10; i++) { SetDrawBlendMode(DX_BLENDMODE_ALPHA, 190); DrawExtendGraph(i * 60, j * 60, (i + 1) * 60, (j + 1) * 60, make_tile, TRUE); SetDrawBlendMode(DX_BLENDMODE_ALPHA, 255); } } SetDrawScreen(DX_SCREEN_BACK); DeleteGraph(make_tile); return make_graph; } int android_main() { if (DxLib_Init() == -1) return -1; int SizeX = 800; int SizeY = 600; GetAndroidDisplayResolution(&SizeX, &SizeY); SetGraphMode(SizeX, SizeY, 32); SetDrawScreen(DX_SCREEN_BACK); int test = -1; test = makeGraph(test); while (!ProcessMessage() && !ScreenFlip() && !ClearDrawScreen() && !CheckHitKey(KEY_INPUT_ESCAPE)) { DrawGraph(0, 0, test, TRUE); } DxLib_End(); return 0; } よろしくお願いいたします。
メンテ

Page: 1 |

Re: Android版:MakeScreenで作った画像がバグる ( No.1 )
名前:管理人 日時:2018/02/15 01:16

すみません、Android版に『MakeScreen をするとDXライブラリ内部の描画対象設定が変わってしまう』バグがあり、 それが原因で正常な描画結果が得られない状態になっていました 修正版をアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.exe // Android版 ARM用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.exe // Android版 x86用
メンテ
Re: Android版:MakeScreenで作った画像がバグる ( No.2 )
名前:Oomimi(解決) 日時:2018/02/15 01:51

ありがとうございます! 正常に読み込めるようになりました。
メンテ
Re: Android版:MakeScreenで作った画像がバグる ( No.3 )
名前:Oomimi 日時:2018/02/15 11:44

また新たなバグを見つけたので投稿します。 アプリを立ち上げた後、タスクキルせずに(アプリを終了せずに) ホームに戻って再度アプリに戻るとMakeScreenで作った画像が消えてしまうみたいです。
メンテ
Re: Android版:MakeScreenで作った画像がバグる ( No.4 )
名前:管理人 日時:2018/02/16 00:50

> アプリを立ち上げた後、タスクキルせずに(アプリを終了せずに) > ホームに戻って再度アプリに戻るとMakeScreenで作った画像が消えてしまうみたいです。 すみません、そちらは仕様となります アプリが非アクティブになると Android の描画APIである OpenGL ES を再初期化しなければならないことが殆どなので、 再初期化の際に MakeScreen で作成した画像に書き込んだ内容は失われます( LoadGraph や LoadDivGraph で読み込んだテクスチャの 内容なども失われるのですが、MakeScreen で作成した画像に書き込んだ内容と異なり何の画像ファイルから読み込まれたのかが DXライブラリ側が分かっているので、LoadGraph や LoadDivGraph で読み込んだ画像については自動的に内容を復元する処理を行っています ) OpenGL ES の再初期化が発生した際に呼ばれるコールバック関数を SetGraphicsDeviceRestoreCallbackFunction で登録できるので、 登録したコールバック関数が呼ばれた際に MakeScreen で作成した画像に再度同じ描画処理を施すことでアプリが非アクティブになった際の 内容消失に対応することができます // グラフィックスデバイスがロストから復帰した際に呼ばれるコールバック関数を設定する int SetGraphicsDeviceRestoreCallbackFunction( void (* Callback )( void *Data ), void *CallbackData ) ;
メンテ
Re: Android版:MakeScreenで作った画像がバグる ( No.5 )
名前:Oomimi(解決) 日時:2018/02/16 06:28

ありがとうございます。 無事に対応することが出来ました。
メンテ

Page: 1 |

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

   クッキー保存