〇〇秒ある動作をするプログラム
Posted: 2017年4月20日(木) 21:00
初めましてかるたと申します。
OSはwindows7でライブラリはdxライブラリを使用しています。言語はc++です。
現在、dxライブラリを使ってゲームを作成する練習をしています。
文字をある時間表示して、消すプログラムを考えています。
http://dxlib.o.oo7.jp/dxfunc.html
上のサイトの時間関係の関数からGetNowCount()を使って
例えば、
while (GetNowCount() - StartTime < 6000)
{
}
6秒間過ぎるまでループという処理を考えたとします。
この中にDrawFormatString(200, 200, GetColor(150, 200, 200), "hello.world");
というものを入れれば、「hello.world」という文字が6秒間表示されるのではないかと考え、実行しましたが、
6秒立った後に、文字が表示されてしまいました。
どうすれば、〇秒間文字が表示され、その後消えるプログラムが作れますか。
ちなみに、コードは、
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
int StartTime;
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) {
// 現在経過時間を得る
StartTime = GetNowCount();
// 計測開始から6秒が過ぎるまでループ
while (GetNowCount() - StartTime < 6000)
{
DrawFormatString(200, 200, GetColor(150, 200, 200), "hello.world");
}
}
WaitKey();
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
です。よろしくお願いします。
OSはwindows7でライブラリはdxライブラリを使用しています。言語はc++です。
現在、dxライブラリを使ってゲームを作成する練習をしています。
文字をある時間表示して、消すプログラムを考えています。
http://dxlib.o.oo7.jp/dxfunc.html
上のサイトの時間関係の関数からGetNowCount()を使って
例えば、
while (GetNowCount() - StartTime < 6000)
{
}
6秒間過ぎるまでループという処理を考えたとします。
この中にDrawFormatString(200, 200, GetColor(150, 200, 200), "hello.world");
というものを入れれば、「hello.world」という文字が6秒間表示されるのではないかと考え、実行しましたが、
6秒立った後に、文字が表示されてしまいました。
どうすれば、〇秒間文字が表示され、その後消えるプログラムが作れますか。
ちなみに、コードは、
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
int StartTime;
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) {
// 現在経過時間を得る
StartTime = GetNowCount();
// 計測開始から6秒が過ぎるまでループ
while (GetNowCount() - StartTime < 6000)
{
DrawFormatString(200, 200, GetColor(150, 200, 200), "hello.world");
}
}
WaitKey();
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
です。よろしくお願いします。