IMAGIC BLOG

アイマジック開発ブログ

Home » VRMONLINE-NX スクリプトでゲームパッド

VRMONLINE-NX スクリプトでゲームパッド

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

ビルド60にて追加したゲームパッド関数のサンプルです。

ゲームパッドは、最大4台をPCに接続、スクリプトから認識することができます。

IsGamepadConnected()関数は、ゲームパッドが接続されているか確認します。
デバイス番号を0から3のいずれか1つで指定、当該デバイスが接続されていればTrueを返します。

GetGamepad系関数は、ボタンが押されていた場合、Trueを返します。この関数もデバイス番号を指定します。

AnalogStick関数は、16ビットの符号付き整数で傾き具合を返します。

サンプルは、編成スクリプトのframeイベントでゲームパッドの状態を表示するウィンドウを開いています。
このビルドからSYSTEM()関数を追加しました。この関数はLAYOUT().SYSTEM()と同じ動作です。記述を短縮できます。

#OBJID=6
import vrmapi

def vrmevent_6(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("w1","Sample")
        vrmapi.ImGui().Text( "pad0-> " + str(vrmapi.SYSTEM().IsGamepadConnected(0)) )
        vrmapi.ImGui().Text( "pad1-> " + str(vrmapi.SYSTEM().IsGamepadConnected(1)) )

        vrmapi.ImGui().Text( "[0]-A " + str(vrmapi.SYSTEM().GetGamepadA(0)) )
        vrmapi.ImGui().Text( "[0]-B " + str(vrmapi.SYSTEM().GetGamepadB(0)) )
        vrmapi.ImGui().Text( "[0]-X " + str(vrmapi.SYSTEM().GetGamepadX(0)) )
        vrmapi.ImGui().Text( "[0]-Y " + str(vrmapi.SYSTEM().GetGamepadY(0)) )

        vrmapi.ImGui().Text( "[0]-Analog L " + str(vrmapi.SYSTEM().GetGamepadAnalogStickLY(0)) )
        vrmapi.ImGui().Text( "[0]-Analog R " + str(vrmapi.SYSTEM().GetGamepadAnalogStickRY(0)) )

        vrmapi.ImGui().End()
    elif ev == 'couple':
    #以下省略

Name of author

Name: imagicdev