βテストにご参加いただきまことにありがとうございます。
ビルド55を公開しました。
GetPosition()などのスクリプト関数の仕様を変更しました。仕様を変更した関数について、βテストご案内ページに一覧を掲載しています。
仕様変更にあわせて、スクリプトの書き換えをお願いします。
各関数の詳細は、スクリプトマニュアルをご参照ください。
GetPosition()は、データを関数の戻り値で返します。データは、list型です。
このバージョンでは、カメラモードについての関数を追加しています。SetViewGlobal()で、システムカメラの切り替えができます。
下記サンプルは、編成がID=5、地上カメラがID=8で設置したレイアウトのスクリプトです。
ボタンで、システムカメラの切り替え、表示対象を編成、地上カメラと切り替えることができます。
#LAYOUT
import vrmapi
def vrmevent(obj,ev,param):
if ev == 'init':
obj.SetEventFrame()
elif ev == 'broadcast':
dummy = 1
elif ev == 'timer':
dummy = 1
elif ev == 'time':
dummy = 1
elif ev == 'after':
dummy = 1
elif ev == 'frame':
vrmapi.ImGui().Begin("win1","Sample Window")
vrmapi.ImGui().Separator()
vrmapi.ImGui().Text("ボタンテスト")
train = obj.GetTrain(5)
tpos = train.GetPosition()
vrmapi.ImGui().Text("編成座標 =>"+str(tpos[0])+" "+str(tpos[2]))
cpos = obj.SYSTEM().GetGlobalCameraPos()
vrmapi.ImGui().Text("SYSカメラ座標 =>"+str(cpos[0])+" "+str(cpos[2]))
if vrmapi.ImGui().Button("b1", "システムカメラ切り替えボタン"):
if obj.IsViewGlobal():
obj.SetViewGlobal(False)
else:
obj.SetViewGlobal(True)
if vrmapi.ImGui().Button("b3", "地上カメラ"):
obj.SetView(8)
if vrmapi.ImGui().Button("b4", "編成カメラ"):
obj.SetView(5)
if obj.IsViewGlobal():
vrmapi.ImGui().Text("システムカメラ")
vrmapi.ImGui().End()
elif ev == 'keydown':
dummy = 1