Difference between revisions of "love.joystick.getGamepadMappingString (日本語)"
m (→返値) |
m (Translation updated.) |
||
Line 14: | Line 14: | ||
=== 返値 === | === 返値 === | ||
{{param|string|mappingstring (nil)|Joystick に関するゲームパッドのマッピング文字列、または nil ならば指定の GUID で Joystick はゲームパッドとして認識されていません。}} | {{param|string|mappingstring (nil)|Joystick に関するゲームパッドのマッピング文字列、または nil ならば指定の GUID で Joystick はゲームパッドとして認識されていません。}} | ||
+ | |||
+ | == 用例: MRU ゲームパッド名の表示 == | ||
+ | 最近使用した (Most Recently Used : MRU) ゲームパッドを追跡することで、変更検出時にゲームパッドの名称を表示できるようにします。 | ||
+ | |||
+ | <source lang="lua"> | ||
+ | local active_joystick | ||
+ | function love.gamepadpressed(joystick, button) | ||
+ | if joystick == active_joystick then | ||
+ | return | ||
+ | end | ||
+ | active_joystick = joystick | ||
+ | -- CSV 文字列から第二カラムを抽出します。 | ||
+ | local name = joystick:getGamepadMappingString():match("^%x*,(.-),") | ||
+ | if not name or name:len() < 3 then | ||
+ | -- "*" などの名前は不便であるため、デバイス名に直します。 | ||
+ | name = joystick:getName() | ||
+ | end | ||
+ | local index = joystick:getConnectedIndex() | ||
+ | print(string.format("Changing primary gamepad to #%d '%s'.", index, name)) | ||
+ | end | ||
+ | </source> | ||
== 関連 == | == 関連 == |
Latest revision as of 04:16, 19 July 2023
LÖVE 11.3 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
指定された GUID を有する Joystick (ジョイスティック) に関するゲームパッドのマッピング文字列を完全取得します。 nil の場合は指定の GUID でゲームパッドは認識されていません。
マッピング文字列は Joystick のボタン軸における標準ゲームパッドのレイアウト対応表となるバインディング情報であり、作成後に love.joystick.loadGamepadMappings で使用します。
関数
概要
mappingstring = love.joystick.getGamepadMappingString( guid )
引数
返値
string mappingstring (nil)
- Joystick に関するゲームパッドのマッピング文字列、または nil ならば指定の GUID で Joystick はゲームパッドとして認識されていません。
用例: MRU ゲームパッド名の表示
最近使用した (Most Recently Used : MRU) ゲームパッドを追跡することで、変更検出時にゲームパッドの名称を表示できるようにします。
local active_joystick
function love.gamepadpressed(joystick, button)
if joystick == active_joystick then
return
end
active_joystick = joystick
-- CSV 文字列から第二カラムを抽出します。
local name = joystick:getGamepadMappingString():match("^%x*,(.-),")
if not name or name:len() < 3 then
-- "*" などの名前は不便であるため、デバイス名に直します。
name = joystick:getName()
end
local index = joystick:getConnectedIndex()
print(string.format("Changing primary gamepad to #%d '%s'.", index, name))
end
関連
- love.joystick (日本語)
- Joystick:getGamepadMappingString (日本語)
- Joystick:isGamepad (日本語)
- love.joystick.loadGamepadMappings (日本語)
- love.joystick.saveGamepadMappings (日本語)
- love.joystick.setGamepadMapping (日本語)
- Joystick:getGamepadMapping (日本語)