フェードアウト処理がうまくいかないです。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
フリーナ

フェードアウト処理がうまくいかないです。

#1

投稿記事 by フリーナ » 11年前

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: フェードアウト処理がうまくいかないです。

#2

投稿記事 by うずら » 11年前

このコードでならうまくいきましたが・・・(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: フェードアウト処理がうまくいかないです。

#3

投稿記事 by フリーナ » 11年前

回答ありがとうございます。
今、やってみようと思います。
あと、DXライブラリのバージョンってどうすれば確認できますか?

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: フェードアウト処理がうまくいかないです。

#4

投稿記事 by みけCAT » 11年前

フリーナ さんが書きました:DXライブラリのバージョンってどうすれば確認できますか?
生成されたLog.txtを見れば最初の方に書いてあります。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: フェードアウト処理がうまくいかないです。

#5

投稿記事 by みけCAT » 11年前

メインループ以外の場所でScreenFlip()を呼んでいるのはあまりよろしくない設計です。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

フリーナ

Re: フェードアウト処理がうまくいかないです。

#6

投稿記事 by フリーナ » 11年前

>>生成されたLog.txtを見れば最初の方に書いてあります。[/quote]

回答ありがとうございます!!

フリーナ

Re: フェードアウト処理がうまくいかないです。

#7

投稿記事 by フリーナ » 11年前

うずら さんが書きました:このコードでならうまくいきましたが・・・(VS2013、Win8.1 Update1、DXライブラリ3.12c)
(載せていただいたものを若干改変。)

画像ファイルがないとか基本的なところを確認してください。
DXライブラリのバージョンなども確認するといいかもしれません。

こちらの処理だとうまくいきました。
ただ、フェードイン、フェードアウトだとまたエラーがでて「応答待ち」になってしまいます。
どうすればいいでしょうか?フェードイン・フェードアウトの両方を成功させたいのですが・どうすればいいでしょう?

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: フェードアウト処理がうまくいかないです。

#8

投稿記事 by みけCAT » 11年前

フリーナ さんが書きました:ただ、フェードイン、フェードアウトだとまたエラーがでて「応答待ち」になってしまいます。
どうすればいいでしょうか?フェードイン・フェードアウトの両方を成功させたいのですが・どうすればいいでしょう?
対症療法としては、ScreenFlip();の直前にProcessMessage();を追加すると改善するかもしれません。

参考:http://dixq.net/g/13.html
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

フリーナ

Re: フェードアウト処理がうまくいかないです。

#9

投稿記事 by フリーナ » 11年前

みけCAT さんが書きました:
フリーナ さんが書きました:ただ、フェードイン、フェードアウトだとまたエラーがでて「応答待ち」になってしまいます。
どうすればいいでしょうか?フェードイン・フェードアウトの両方を成功させたいのですが・どうすればいいでしょう?
対症療法としては、ScreenFlip();の直前にProcessMessage();を追加すると改善するかもしれません。

参考:http://dixq.net/g/13.html
無事、解決しました!!本当にありがとうございます!!

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: フェードアウト処理がうまくいかないです。

#10

投稿記事 by softya(ソフト屋) » 11年前

対処療法なので、このまま使うのはNGですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る