メインコンテンツまでスキップ

! ゲームパッドのボタンを押して離す (:press)

このメソッドは 20260805 以降のバージョンでのみ使用できます

宣言

状態, エラー情報 = ゲームパッドオブジェクト:press(ボタン [, 押下時間 ])

引数

  • ボタン 整数型または文字列型。対応する番号と名称については、ボタン引数の説明を参照してください。
  • 押下時間 非負の有限数値。省略可能。ボタンを押した状態に保つ時間をミリ秒単位で指定します。デフォルトは 60 です。

戻り値

  • 状態 ブール型。ボタンを押して離す操作に成功した場合は true、デバイスが切断されている場合、ビジー状態の場合、対象のボタンがすでに押されている場合、または入力の送信に失敗した場合は false を返します。
  • エラー情報 文字列型。操作に失敗した場合のエラー情報です。

説明

  • 対象のボタンのみを押して離し、すでに押されている他のボタンの状態は変更しません。
  • 対象のボタンがすでに押されている場合、呼び出しは失敗します。
  • press が押下時間を待機している間は、現在の Lua 実行スレッドを明け渡します。この間、同じゲームパッドに対する他の操作は false, "hardware gamepad is busy" を返しますが、別のゲームパッドオブジェクトは引き続き独立して操作できます。
  • 引数の型が正しくない場合、名前が不明な場合、または値が範囲外の場合は、Lua の引数エラーとして送出されます。

使用例

local pad = assert(gamepad.connect())

assert(pad:press("a"))
assert(pad:press("menu"))
assert(pad:press(32))
assert(pad:disconnect())