VRMONLINE-NX ウィンドウを二枚

βテストにご参加いただきまことにありがとうございます。

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
ウィンドウ表示サンプル