合計 昨日 今日

〇〇秒ある動作をするプログラム

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

返信する

Advanced BBCode Box 3 :: ヘルプ ページ Advanced BBCode Box 3 (aka ABBC3)  
選択テキストを切り取る (カット) 選択テキストをコピー コピーしたテキストを貼り付け (ペースト) 選択したテキストから全ての BBCode タグを削除します。 箇条書きリスト 連番付き箇条書きリスト リスト項目 水平線 太字 斜体 下線 取り消し線 上付き文字 下付き文字 フェードイン / アウト テキスト グラデーション 正当テキスト 左揃え 中央ぞろえ 右揃え 整形済みテキスト
タブインデント挿入 コード 引用 本題と外れた内容を囲むオフトピックテキストを挿入します。 Web アドレス Eメール 画像を挿入します。 サムネイル画像を挿入します。 Youtube 動画 を挿入します。 ニコニコ動画を挿入します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
トピックのレビュー
このトピックは既に解決しています
   

展開ビュー トピックのレビュー: 〇〇秒ある動作をするプログラム

Re: 〇〇秒ある動作をするプログラム

投稿記事 by かるた » 2017年4月21日(金) 07:44

できました。ありがとうございました。

お礼の回答とですいませんが、
コード[C++]: 全て選択
1
 と
を試させてもらいます。
コード[C++]: 全て選択
1
2
3
4
5
6
7
8
#include<stdio.h>
 
int main(void)
{
 
    printf("hello world");
    return 0;
}

Re: 〇〇秒ある動作をするプログラム

投稿記事 by みけCAT » 2017年4月20日(木) 22:20

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。

かるた さんが書きました:どうすれば、〇秒間文字が表示され、その後消えるプログラムが作れますか。

例えば、最初は文字を表示する状態になり、○秒経ったら文字を表示しない状態になるプログラムを作るといいと思います。
コード[C++]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "DxLib.h"
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    int StartTime;
    ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);
 
    bool displayText = true; // 文字を表示するか
    StartTime = GetNowCount(); // プログラムの開始時刻
 
    while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) {
 
        if (displayText)
        {
            DrawFormatString(200, 200, GetColor(150, 200, 200), "hello.world");
            if (GetNowCount() - StartTime >= 6000)
            {
                // 6秒経ったら文字を表示しなくする
                displayText = false;
            }
        }
    }
    WaitKey();
 
    DxLib_End();        // DXライブラリ使用の終了処理
 
    return 0;        // ソフトの終了
}

※DxLib_Init()が二重になっていたので、2個目を削除しました

〇〇秒ある動作をするプログラム

投稿記事 by かるた » 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; // ソフトの終了
}
です。よろしくお願いします。

ページトップ