ページ 1 / 1
フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 18:32
by フリーナ
DXライブラリでフェードアウトの処理をしようとすると途中でエラーがでます。
VC++ 2010EXpress使用してます。
最初のフェードインの関数を作って実行すると成功するんですが
フェードアウトの関数のほうはなぜか途中で「応答待ち」と出て処理がとまります。
なぜでしょうか?
普通におんなじなのに。
#include <DxLib.h>
void feedout()
{
int i;
int character;
character = LoadGraph("character.png");
for(i = 255; i >= 0; i-- )
{
SetDrawBright(i, i, i);
DrawGraph(0, 0, character, TRUE);
ScreenFlip();
}
}
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 19:47
by うずら
このコードでならうまくいきましたが・・・(VS2013、Win8.1 Update1、DXライブラリ3.12c)
(載せていただいたものを若干改変。)
画像ファイルがないとか基本的なところを確認してください。
DXライブラリのバージョンなども確認するといいかもしれません。
コード:
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
ChangeWindowMode(1);
DxLib_Init();
SetDrawScreen(DX_SCREEN_BACK);
int i;
int character;
character = LoadGraph("character.png");
for (i = 255; i >= 0; i--)
{
ClearDrawScreen();
SetDrawBright(i, i, i);
DrawGraph(0, 0, character, TRUE);
ScreenFlip();
}
DxLib_End();
}
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 19:58
by フリーナ
回答ありがとうございます。
今、やってみようと思います。
あと、DXライブラリのバージョンってどうすれば確認できますか?
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 20:02
by みけCAT
フリーナ さんが書きました:DXライブラリのバージョンってどうすれば確認できますか?
生成されたLog.txtを見れば最初の方に書いてあります。
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 20:15
by みけCAT
メインループ以外の場所でScreenFlip()を呼んでいるのは
あまりよろしくない設計です。
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 20:17
by フリーナ
>>生成されたLog.txtを見れば最初の方に書いてあります。[/quote]
回答ありがとうございます!!
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 20:20
by フリーナ
うずら さんが書きました:このコードでならうまくいきましたが・・・(VS2013、Win8.1 Update1、DXライブラリ3.12c)
(載せていただいたものを若干改変。)
画像ファイルがないとか基本的なところを確認してください。
DXライブラリのバージョンなども確認するといいかもしれません。
こちらの処理だとうまくいきました。
ただ、フェードイン、フェードアウトだとまたエラーがでて「応答待ち」になってしまいます。
どうすればいいでしょうか?フェードイン・フェードアウトの両方を成功させたいのですが・どうすればいいでしょう?
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 20:26
by みけCAT
フリーナ さんが書きました:ただ、フェードイン、フェードアウトだとまたエラーがでて「応答待ち」になってしまいます。
どうすればいいでしょうか?フェードイン・フェードアウトの両方を成功させたいのですが・どうすればいいでしょう?
対症療法としては、ScreenFlip();の直前にProcessMessage();を追加すると改善するかもしれません。
参考:
http://dixq.net/g/13.html
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 20:32
by フリーナ
みけCAT さんが書きました:フリーナ さんが書きました:ただ、フェードイン、フェードアウトだとまたエラーがでて「応答待ち」になってしまいます。
どうすればいいでしょうか?フェードイン・フェードアウトの両方を成功させたいのですが・どうすればいいでしょう?
対症療法としては、ScreenFlip();の直前にProcessMessage();を追加すると改善するかもしれません。
参考:
http://dixq.net/g/13.html
無事、解決しました!!本当にありがとうございます!!
Re: フェードアウト処理がうまくいかないです。
Posted: 2014年8月13日(水) 21:19
by softya(ソフト屋)
対処療法なので、このまま使うのはNGですよ。