
【第1章】車両で遊ぼう
第6回 編成で警笛を鳴らそう
その3 指定時間毎に警笛を鳴らそう
指定時間で繰り返す'timer'イベントの使い方を覚えましょう。
【使用するVRMNX命令】色々な部品にある命令:SetEventTimer(秒数,ユーザーID)
指定秒数毎に発生する'timer'イベントを設定します。ユーザーIDには任意の数値(省略した場合は0)を設定します。
【やってみよう】「親子で学ぼう用レイアウト(2初期状態).vrmnx」を開き、編成「TRAIN_11」のスクリプトをこのように書こう。書くのが大変ならコピペしよう。完成品は「親子で学ぼう用レイアウト(6-3).vrmnx」です。
#OBJID=11
import vrmapi
def vrmevent_11(obj,ev,param):
if ev == 'init':
obj.SetEventTimer(5,101)
(中略)
elif ev == 'timer':
if param['eventUID'] == 101:
obj.PlayHorn(0)
(以下省略)
【解説】前回の「キーを押して警笛を鳴らそう」とよく似ています。obj.SetEventTimer(5,101)は、自分の所の'timer'イベントを5秒毎に呼び出し、ユーザーIDを101としてparam['eventUID']に格納するという意味です。そしてparam['eventUID'] == 101:ならobj.PlayHorn(0)が実行されるというのを繰り返します。
ユーザーIDは同じ数値を指定すると混乱してしまうのでなるべく異なった数値を使いましょう。例えば100と101のように違う数値を使っておけば、前回と今回のスクリプトは合体させて1つのレイアウト内でも使えるのでその方が安心です。
【実践】それでは「運転」を押してビューワーを起動させましょう。5秒おきに警笛が鳴りましたか? 鳴れば成功です(^^)/

