I Wanna Maker [日本語版] 使い方講座 -螺子と針-

探したい記事は目次から探すと楽です。

イベント発生条件/アクション:タイマーイベントの使い方

☆ I wanna Makerに関するその他記事は目次からご覧ください。

-------------------------------------------

☆イベント発生条件/アクション:タイマーイベントの使い方
 
【注意】
今回の内容はイベントの作り方、特にプレイヤートリガーを使用したイベントの作り方を把握している方向けです。
 
・参考リンク
 
-------------------------------------------
タイマー系のイベントは
 
・イベント発生条件に"タイマー制御"
・アクションに"タイマーを設定""タイマーを停止"
 
の3つ存在します。
これら3つは全て単体で使用することはできません。少なくとも2つを同時使用します。

※この画像はとりあえずタイマーイベント全てを表示させているだけなので何のイベントにもなっていません。
 
---
◆そもそもどんな時に使うの?
主に「○○したX秒後に□□する」といったイベントを作るときに使います。
 
例えば
・ボタンを押した2秒後に針が動く。
・トリガーを作動させた5秒後にBGMがとまる
・コース開始から10秒後にエフェクトが発生する
・敵に攻撃した後、敵に数秒の無敵時間が発生する    
等です。
 
---
◆タイマーイベントの大まかな流れ
「○○したX秒後に□□する」といった時間制御系のイベントを作る際にタイマーイベントを使用するわけですが、
○○したX秒後に
の設定と
□□する
の2つをイベント欄に設定する必要があります。
 
もっと簡単に言えば
・○○したX秒後に
→"何秒後に"といった秒数の設定
・□□する
設定秒数後に発生するイベントの設定
をするわけです。
 
まずアクションの"タイマーを設定"で秒数を設定し、イベント発生条件の"タイマー制御"で発生するイベントを設定するといった流れになります。
 
--
◆設定の仕方
解説することはいろいろあるのですが簡単なイベント例があったほうが説明しやすいので、「スタートから3秒後にBGMが止まる」といったイベントを作る例を交えながら解説していきます。
 
①秒数カウントをするためのオブジェクトの設置
まずは"何秒後に"といった秒数の設定をしていきます。
今回はトリガー作動で秒数カウントをし始める状態にします。
(※トリガーを作動させるよりも楽な方法はありますが、今回視覚的にわかりやすいようにトリガー使用にしています。)
 
「スタートから3秒後に」なので、スタート時にトリガーが作動するようにしておきます。
今回は、スタート位置にプレイヤートリガーを設置し、スタートと同時にトリガー作動する状態にしました。(IDは"0"、動作回数は1回のみです。)

設置に関しては特別なことをする必要はないので通常通りでOKです。

 

②設置したオブジェクトに秒数をカウントするためのイベントを入れる

トリガーに設定を入れていきます。
 
まずはタイマーの秒数設定"のみ"を行います。
※ここは秒数を設定するだけなので、これだけでは何の効果も発揮しません。

------
☆トリガー"0"が作動したら、3秒のカウントを始めるイベント。
 
イベント発生条件:"トリガー+アクティベーター"内の"トリガーが作動したとき"
→トリガーのIDは設置したトリガーのIDと同じにする。今回は"0"。
 
アクション:"タイマー"内の"タイマーを設定"
→フレーム数は"150"、タイマーの数値は"0"
----
 
 
☆一旦フレーム数、タイマーの数値について解説します。
 
【フレーム数】
ここで秒数を設定します。デフォルトでは"50"と入力されています。
 
IWMでは"50フレームで1秒"なので、デフォルトで入っている"50"というのは"1秒"という設定が入っていることになります。
 
今回のように3秒後で設定したい場合は50フレーム×3秒=150で、150をフレーム数に設定します。
違う秒数の場合も単純に50×希望秒数で数値を割り出せばOKです。
 
※何フレームで何秒というのはゲームによって変わります。あくまで「I Wanna Makerは50フレームで1秒」です。
 
キリのいい秒数にする必要はなく、仮に0.5秒にしたい場合は"25"と設定すればOK。
 
 
【タイマーの数値】
一見秒数の設定にをする箇所と思いがちですが、ここはタイマーのID(数値)を設定する箇所です。0~99まで設定することができます。
※"数値"という表現だと秒数とややこしいので一旦"ID"と表現します。
 
タイマーのIDというのは"タイマーを区別"するために設定します。
一つのオブジェクトに複数のタイマーを設定することができる為、それらのタイマーを区別するために設定します。
 
今回は"0"で設定しています。つまり
タイマーID0には3秒という秒数が設定されている。
という状態になります。
 
わかりやすく言い換えると
タイマーその①には3秒をカウントする設定が入っている
という状態です。
 
ちなみに、タイマーのIDは一つのオブジェクト内で被らなければOKです。
例えばハリAでタイマーIDの0~3を使ったとします。その他のオブジェクト(他のハリも含め)で0~3が使えないということは無く、ハリAの中で0~3が被らなければOKです。
 
また、タイマーの数値は0から順に使う必要もないため管理しやすいIDで設定してしまって構いません。
 
【補足】どういうときにタイマーを複数設定するの?
例えば「スタートから3秒後にBGMが止まり、(スタートから)6秒後に再度BGMが流れだす、(スタートから)9秒後に再度BGMが止まる。」という秒数が複数ある場合に
 
・タイマーID0→フレーム数150(50フレーム×3)
・タイマーID1→フレーム数300(50フレーム×6)
・タイマーID2→フレーム数450(50フレーム×9)
 
というように秒数毎に設定が必要になるので、タイマーのIDを複数設定します。
こんな感じ↓

---
 
では、イベント設定の解説に戻ります。
 
秒数を設定したので、実際にどんなイベントを発生させるかの設定をします。トリガー内にイベントを追加します。

------
☆タイマーが作動したらBGMを止めるイベント
 
イベント発生条件:"時間による制御"内の"タイマー制御"
→タイマーの数値を先ほど設定した数値に合わせます。今回は"0"。
 
アクション:"効果音など"内の"BGM変更"
→曲をストップさせたいので"No Music"を選択します。
----
 
これで「スタートから3秒後にBGMが止まる」というイベント設定ができました。
 
つまり
トリガー作動により3秒のタイマーのカウントが始まる(トリガーが作動したとき/タイマーを設定)
3数後にイベントが作動し、BGMが止まる(タイマー制御/BGM変更)
というイベントになっているわけです。
 
 
このようにタイマー処理を使用するためには
 
1. 秒数を設定
2. 設定した秒数の後に何を行うかを設定
 
と、2種類のイベント設定が必ず必要となります。
 
---
◆タイマーを停止とは?
アクションの「タイマー」内に"タイマーの停止"というものがあります。
これは、途中でタイマーのカウントを止める場合に使用します。
 
今回の例に挙げた「スタートから3秒後にBGMが止まる」にタイマー停止処理として、「トリガーID1が作動したときに、タイマーの数値:0(3秒で設定したのタイマー)が停止」というイベントを追加で設定してみます。

こうすることにより、ID0のトリガーに触れたら3秒のタイマーが設定され、3秒後にBGMを止めるけど、3秒経つ前にID1のトリガーに触れたら3秒のタイマーを停止する、という状態になります。
つまり、3秒以内にID1のトリガーに触れると音楽停止イベントが発生しません。
 
使用例としては
・トリガーに触れた10秒後にゴールまでの足場がすべて消えてしまうが、10秒以内にこの場所までたどり着いたら消えない。
・針にショットが当たった5秒後に針が爆発するけど、5秒以内にボタンを押すと阻止できる。
といったハラハラ系のイベントが多いんじゃないかと思います。
 
※「タイマーの数値」は止めたいタイマーの数値に合わせます。タイマーを複数設定しており、そのすべてに停止処理を入れたい場合はひとつづつ個別に設定してください。
---
 
【補足】
上の方で説明した「どういうときにIDを複数設定するの?」に関して、タイマー制御の設定まで行うとこのようになります。
 
イベント:「スタートから3秒後にBGMが止まり、(スタートから)6秒後に再度BGMが流れだす、(スタートから)9秒後に再度BGMが止まる。」

このようにタイマーを複数設定したら、その数だけイベントの追加が必要になります。
 
---