【第1章】車両で遊ぼう
第8回 色を変えたヘッドライトを付けよう
ヘッドライトで簡単な動作で練習します。
その1 ビューワー起動時にライトを付けよう
まずは簡単な単独動作から。
【使用するVRMNX命令】車両の命令:SetHeadlight(点灯状態)
ヘッドライトの点灯状態を設定します。点灯状態はTrue(または1)で点灯、False(または0)で消灯となります。
【使用するVRMNX命令】車両の命令:SetLightColor(光源番号,R,G,B)
ッドライトに連動する光源に色を設定します。光源番号は通常は0、Rは赤の光量で0.0-1.0、Gは緑の光量で0.0-1.0、Bは青の光量で0.0-1.0。
【やってみよう】ライトが見やすいように夜間に設定した「親子で学ぼう用レイアウト(8初期状態).vrmnx」を開き、編成「TRAIN_11」の車両1両目「CAR-1」にスクリプトをこのように書こう。書くのが大変ならコピペしよう。完成品は「親子で学ぼう用レイアウト(8-1).vrmnx」です。
#CARID=1
import vrmapi
def vrmcarevent_1(obj,ev,param):
if ev == 'init':
obj.SetHeadlight(True)
obj.SetLightColor(0, 0.0, 1.0, 0.0)
【解説】まずヘッドライトを点灯させて、その後色を緑に変えています。
【実践】それでは「運転」を押してビューワーを起動させましょう。緑色の光でライトが点灯していれば成功です(^^)/
【追加】指定時間で発生する'time'イベントの使い方を追加しておきます
【使用するVRMNX命令】SetEventTime(秒数,ユーザーID)
ビュワー開始から指定時間後に発生する'time'イベントを呼び出します。ユーザーIDには任意の数値(省略した場合は0)を設定します。
こちらは編成「TRAIN_11」に書き込みます。
#OBJID=11
import vrmapi
def vrmevent_11(obj,ev,param):
if ev == 'init':
obj.SetEventTime(3,200)
(中略)
elif ev == 'time':
car = obj.GetCar(0)
if param['eventUID'] == 200:
car.SetHeadlight(True)
car.SetLightColor(0, 0.0, 1.0, 0.0)
(以下省略)
とするとビュワー開始後3秒で緑色の光でライトが点灯します。完成品は「親子で学ぼう用レイアウト(8-1追加).vrmnx」です。