タイマー
最終更新 : 2019/05/26
最終更新 : 2019/05/26
この記事では、とにかく出番の多い「タイマー」ガジェットを紹介します。
特に困る部分もないガジェットですが、最後にTIPSを載せておきます。
黄色いアイコンの真ん中らへんです
タイマー完了時の合図がパルスとシグナルの2パターン用意されているのが特徴的です。他のガジェットでも言えることですが、手直しメニューからでないとつなげないポートがあります。
| タイプ | 名称 | 説明 | | ---- | ---- |---- | | IN | タイマー開始 | スタートするために接続 | | IN | タイマーをリセット | 現在のカウントを初期値にリセット | | OUT | タイマー終了(パルス) | 完了したらパルスを送信 | | OUT | タイマーのアウトプット | タイマーの進み具合を送信(カウントアップなら0.00→1.00。カウントダウンなら1.00→0.00) | | OUT | タイマー終了(シグナル) | 完了したらシグナルを送信し続ける。シグナルを止めたければタイマーをリセットしましょう。 |
ゲームを作るなら必須のガジェット
教えてチップでもおなじみです。
「タイマー終了(パルス)」ポートと、「タイマーをリセット」ポートを接続します。ちょっとした機能を作る時のテストで活躍しますね。
「タイマー開始」ポートにワイヤーをつながなければ、ゲーム開始直後からループし続けます。
ワイヤーをつなぐ場合はタイマースタートを制御できますが、いざ開始したあとは、そのワイヤーにシグナルが流れ続けるようにしてください。タイマーは、初期状態およびリセット状態で「タイマー開始」にシグナルが流れるとスタートします。ループし続けたいなら、「タイマー開始」にシグナルを流し続けましょう。シグナルを流し続けたりストップしたり、といったことをやりたい時はカウンターガジェットの出番です。 (関連記事:ONとOFFを切り替える
たとえば無敵時間のタイマーを10秒回したとしましょう。すると、この10秒間だけONになるシグナルがほしくなると思います。
「タイマーのアウトプット」ポートでもできなくはないですが、このポートのシグナルには強弱があります。さらにカウントアップ/ダウンで最後の値が変わります。このポートの本来の使い道としては、たとえばライトの電源に接続して、「だんだん」明るくしたり暗くしたりする時です。
タイマーのアウトプットは、タイマーの「進行度」を利用するポート
タイマーが動いているならON、そうじゃないならOFFと切り替えたいなら、カウンターガジェットを使いましょう。「タイマーの開始」と同時にON、タイマー終了(パルス)でOFFです。 (関連記事:ONとOFFを切り替える
カウンターは色んな場面で活躍します。
いわゆるストップウォッチです。方法を2つ紹介しますが、方法1が正解だと思います。
タイマーのタイプ「スピード」を使います。スピードモードがどういう機能かというと、タイマー開始のシグナルの強弱によって、タイマーの進むスピードが変わるというものです。シグナルが0.5ならタイマー完了まで2倍の時間がかかる、という動きをします。
重要なのは、シグナルが1なら普通のタイマーと変わらず動くということです。そしてシグナルが0なら一時停止してくれます。 カウンターと組み合わせれば一時停止用タイマーが簡単に作れます。
完了のシグナルをタイマー開始インプットにつなげます
開始したタイマーは、電源をOFFにするとその時点のタイムを保持して止まってくれます。 そこから電源をONにすると、タイマーが再開します。
注意点は一番最初の「タイマー開始」です。当然ですが、電源ONになっていないとタイマー開始できません。ということで、「基本的に電源ON、例外的に電源OFF」という組み方がおすすめです。
基本的に電源ONの例
裏技っぽい使い方だと思います。タイマーのタイプ「スピード」を使えない時に出番があるようなないような……。
とりあえず電源制御はON/OFFシグナルを使うように意識しましょう。 (関連記事:シグナルとパルス
上述のタイマー電源オフを使わないなら、知らなくていいネタです。
タイマーの電源オフ中は「ゴールのタイム」や「現在のタイム」から値を取得できなくなります。たとえばナンバー表示マシンで表示しようとしても、「0」となります。これはどんなガジェットにも言えることで、電源がオフということはそのガジェットが死ぬということなので、アウトプットポートからは何も出てこなくなります。
電源オフのタイマーの「ゴールのタイム」を表示したい場合、電源オフにならないダミータイマーを用意して、ダミータイマーの「ゴールのタイム」を表示すればいいです。
電源オフのタイマーの「現在のタイム」を表示したい場合は、現在のタイムを変数に保存します。具体的には次のようにします。
溟犬一六(めいけんいちろ)。雑種のクリエイター。ハンドル名はガバチョなど