βテストにご参加いただきまことにありがとうございます。
ビルド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':
#以下省略