カウントダウンの延命をしたい

ホーム フォーラム CF2.5使用法全般 カウントダウンの延命をしたい

  • このトピックには3件の返信、2人の参加者があり、最後にMYTHにより5年、 9ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #15435
    bba
    参加者

    お世話になります。

    日付&時計オブジェクトを用いてモードをカウントダウンにし、0秒になったらゲームオーバーになるゲームを制作中です。オブジェクトを破壊またはクリックすることでカウントダウンの延命ができるような仕様を考えています。例えばカウントダウン残り時間10秒の時にオブジェクトをクリックすると+2秒されて残り時間が12秒になるという形です。

    カウントダウンを変更をいじればよいのかと思ってトライ&エラーをしていましたが詰まってしまいました。ご回答のほどお願いします。

    #15436
    MYTH
    参加者

    bbaさん>>

    こんにちは。

    こちらで簡易的に作成致しました。
    カウントダウンを変更のアクションから、カウントダウン値を取得し、2秒増加させています。
    ここでは1000が1秒なのでカウントダウン値に2000を足しています。
    日付&時計オブジェクトに関してですが、ヘルプには数式でカウントダウン値を取得するとミリ秒表示となるとの記述がありましたが、変更時に入力する値はミリ秒であるものの数式からカウントオブジェクトで表示させたところなぜか1/100秒表示となりました。よって残り時間増加の数式においてカウントダウン値は10倍しています。
    サンプルではzキー入力で2秒増加します。

    また、日付&時計オブジェクトは若干扱いづらいです。カウントダウンを作成したい場合は経過フレーム数を用いたイベントをお勧めします。
    詳しい部分はこちらの記事に記載されています。

    CF2.5のゲームは『タイマーベース』ではなく『フレームベース』で作ろう

    Attachments:
    You must be logged in to view attached files.
    #15438
    bba
    参加者

    MYTHさん>>

    参考のリンクとサンプルまで作成していただき恐縮です。
    大変わかりやすく、抱えていた問題が一瞬で解決しました。ありがとうございます。
    どうもうまくいかないと思ったらCF2.5の仕様による部分があるんですね。

    また、アクティブオブジェクトが徐々に消えていく演出も勉強になりました。
    重ねて御礼申し上げます。ありがとうございました。

    • この返信は5年、 9ヶ月前にbbaが編集しました。
    #15440
    MYTH
    参加者

    bbaさん>>

    私も初心者なのですが、私なりに色々と試行した結果上手くいきましたので僭越ながら回答致しました。
    説明が少々わかりづらくなってしまった部分もありましたがご参考にして頂けたようで光栄です。

    基本的には時間に関する値は日付&時計オブジェクト以外にも音楽や動画の再生位置など1/1000秒で表されることが多いようです。
    比較してフレームは記事に記載されています通り基本的に1秒間に60回の処理が行われます。ここで条件を常に実行にし、値を1ずつ増加・減少させ、60につき1秒とすることでカウンターとします。つまりここでは1/60秒表示となります。

    もう一つサンプルを作成致しました。こちらはフレーム数依存でのカウントとなりますが、できるだけタイマー依存のサンプルと同じ形になるようにしています。
    別個にフレーム数によるカウントを行う変数を持ったオブジェクトを用意し、その値を3600で割った商が分に、その余りを60で割った商が秒になります(数式は「(残り時間-分*3600)/60」を変形した形になっています)。
    下部に表示されているのは残りのフレーム数(1/60秒)です。
    こちらも合わせてご覧いただければ幸いです。

    Attachments:
    You must be logged in to view attached files.
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。