βテストにご参加いただきまことにありがとうございます。
GUIウィンドウを2枚表示するスクリプトサンプルです。
imguiは、Begin()-End()で一枚のウィンドウを表示します。
複数のウィンドウを表示する場合は、Begin-Endを必要な個数並べます。
ウィンドウの表示位置は、SetNextWindowPos()で指定します。
Begin()より前に指定してください。
ウィンドウの大きさは、標準のBegin()で表示されるウィンドウが、表示サイズを自動で記憶するため、SetNextWindowSizeConstraints()で条件を縛ってください。
SetNextWindowSize()でサイズを指定、SetNextWindowSizeConstraints()でリサイズ可能な範囲を指定します。
標準以外のBegin()については、今後の拡張をお待ち下さい。
#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().SetNextWindowPos(0,60)
vrmapi.ImGui().SetNextWindowSize(320,200)
vrmapi.ImGui().SetNextWindowSizeConstraints(320,200,480,240)
vrmapi.ImGui().Begin("win10","Sample Window")
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)
vrmapi.ImGui().End()
vrmapi.ImGui().SetNextWindowPos(0,260)
vrmapi.ImGui().SetNextWindowSize(480,120)
vrmapi.ImGui().SetNextWindowSizeConstraints(480,120,480,120)
vrmapi.ImGui().Begin("win11","2nd Window")
vrmapi.ImGui().Text("第二ウィンドウ")
vrmapi.ImGui().End()
elif ev == 'keydown':
dummy = 1