ページ 11

他のソフトを操作している時でも時間を数えたい

Posted: 2015年7月31日(金) 13:15
by 残念
こんにちは、残念と申します。
この度、一定時間経つと表示される画像が変わるようなソフトを作りたいと思い、次のようなコードを書いてみたところ、

コード:

#include "DxLib.h"

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	ChangeWindowMode(TRUE);
	SetGraphMode(640, 480, 32);
	SetWindowStyleMode(2);
	SetWindowSizeChangeEnableFlag(TRUE);
	
	if (DxLib_Init() == -1)		
	{
		return -1;			
	}

	SetDrawScreen(DX_SCREEN_BACK);
	int t = GetNowCount();
	int i = 0,j;
	int h[100];
	char name[6] = "0.jpg";

	while (LoadGraph(name) !=-1){
		h[i] = LoadGraph(name);
		sprintf(name, "%d.jpg", i + 1);
		i++;
	}
	j = i;
	i = 0;
	while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0){
		
		
		
		
		DrawGraph(0, 0,h[i], FALSE);
		DrawFormatString(0, 0, GetColor(155, 155, 155), "%d %d ", j, (GetNowCount() - t));
		if ((GetNowCount() - t) / 500 > 60)
		{
			if (i>= j-1){ i = 0; }
			else
			{
				i++;
			}
			
			t = GetNowCount();
		}
		ScreenFlip();
		
	}

	DxLib_End();				// DXライブラリ使用の終了処理

	return 0;				// ソフトの終了 
}
確かに一定時間ごとに変わるのですが、そのまま他のソフトをクリックするとカウントが止まり、
画像を切り替えることができませんでした。
他のソフトを操作していてもカウントが止まらないような方法はないでしょうか。

Re: 他のソフトを操作している時でも時間を数えたい

Posted: 2015年7月31日(金) 13:50
by みけCAT
SetAlwaysRunFlag関数を使うといいでしょう。

Re: 他のソフトを操作している時でも時間を数えたい

Posted: 2015年7月31日(金) 14:18
by 残念
みけCATさん、うまくいきました。ありがとうございました。

Re: 他のソフトを操作している時でも時間を数えたい

Posted: 2015年7月31日(金) 14:20
by 残念
クイック返信をし、解決!を押していなかったので、解決!にチェックをつけておきます。