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 guid
マッピング文字列の取得に用いる 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

関連


そのほかの言語