Joystick (日本語)
LÖVE 0.9.0 から使用可能 |
この型は以前のバージョンでは非対応です。 |
物理ジョイスティックを提供します。
Contents
コンストラクタ
love.joystick.getJoysticks (日本語) | 接続されているジョイスティックの一覧を取得します。 | 0.9.0 |
関数
Joystick:getAxes (日本語) | 各軸の方向を返します。 | 0.9.0 | |
Joystick:getAxis (日本語) | 軸の方向を返します。 | 0.9.0 | |
Joystick:getAxisCount (日本語) | ジョイスティックに実装されている軸の個数を取得します。 | 0.9.0 | |
Joystick:getButtonCount (日本語) | ジョイスティックに実装されているボタンの個数を取得します。 | 0.9.0 | |
Joystick:getDeviceInfo (日本語) | オペレーティング・システムに依存しないジョイスティックのデバイス情報を取得します。 | 11.3 | |
Joystick:getGUID (日本語) | 物理的なジョイスティックの機種に基づく固定された固有 GUID を取得します。 | 0.9.0 | |
Joystick:getGamepadAxis (日本語) | 仮想ゲームパッドの軸の方向を取得します。 | 0.9.0 | |
Joystick:getGamepadMapping (日本語) | ボタン、軸またはハットを仮想ゲームパッドの入力への割り当てを取得します。 | 0.9.0 | |
Joystick:getGamepadMappingString (日本語) | この Joystick (ジョイスティック) に関するゲームパッドのマッピング文字列を完全取得します。 nil の場合は指定の GUID でゲームパッドは認識されていません。 | 11.3 | |
Joystick:getGamepadType (日本語) | ゲームパッドとして認識されている場合に、ジョイスティックの GamepadType を取得します。 | 12.0 | |
Joystick:getHat (日本語) | ハットの方向を取得します。 | 0.9.0 | |
Joystick:getHatCount (日本語) | ジョイスティックに実装されているハットの個数を返します。 | 0.9.0 | |
Joystick:getID (日本語) | ジョイスティックの固有識別子を取得します。 | 0.9.0 | |
Joystick:getJoystickType (日本語) | ジョイスティックの JoystickType を取得します。 | 12.0 | |
Joystick:getName (日本語) | ジョイスティックの機器名を取得します。 | 0.9.0 | |
Joystick:getPlayerIndex (日本語) | この Joystick のプレイヤーインデックスを取得します。これは一般的なゲームパッドに搭載されているインジケータライトと対応関係にあります。 | 12.0 | |
Joystick:getVibration (日本語) | ジョイスティックがブルブル対応であれば現在の振動モーターの強さを取得します。 | 0.9.0 | |
Joystick:isConnected (日本語) | ジョイスティックが接続されているかどうか取得します。 | 0.9.0 | |
Joystick:isDown (日本語) | ジョイスティックのボタンが押されているか確認します。 | 0.9.0 | |
Joystick:isGamepad (日本語) | ジョイスティックがゲームパッドとして認識されているかどうか取得します。 | 0.9.0 | |
Joystick:isGamepadDown (日本語) | 仮想ゲームパッドのボタンとしてジョイスティックが押されているか確認します。 | 0.9.0 | |
Joystick:isVibrationSupported (日本語) | ジョイスティックが振動に対応しているか取得します。 | 0.9.0 | |
Joystick:setPlayerIndex (日本語) | この Joystick のプレイヤーインデックスを設定します。これは一般的なゲームパッドに搭載されているインジケータライトと対応関係にあります。 | 12.0 | |
Joystick:setVibration (日本語) | ジョイスティックがブルブル対応であれば振動モーターの速度を設定します。 | 0.9.0 | |
Object:release (日本語) | Lua が参照しているオブジェクトを即時破棄します。 | 11.0 | |
Object:type (日本語) | オブジェクトの種類を文字列形式で取得します。 | ||
Object:typeOf (日本語) | オブジェクトが特定の種類かどうか確認します。 |
列挙型
GamepadAxis (日本語) | 仮想ゲームパッドの軸。 | 0.9.0 | |
GamepadButton (日本語) | 仮想ゲームパッドのボタン。 | 0.9.0 | |
GamepadType (日本語) | ゲームパッドコントローラーの機種。 | 12.0 | |
JoystickHat (日本語) | ジョイスティックのハットの位置。 | 0.5.0 | |
JoystickInputType (日本語) | ジョイスティックの入力の種類。 | 0.9.0 | |
JoystickType (日本語) | ジョイスティックの種類。 | 12.0 |
上位型
用例
最後にコントローラーで押されたボタンを画面上に表示します。
local lastbutton = "none"
function love.gamepadpressed(joystick, button)
lastbutton = button
end
function love.draw()
love.graphics.print("Last gamepad button pressed: "..lastbutton, 10, 10)
end
コントローラーのD-パッド(十字キー)で円を移動します
function love.load()
local joysticks = love.joystick.getJoysticks()
joystick = joysticks[1]
position = {x = 400, y = 300}
speed = 300
end
function love.update(dt)
if not joystick then return end
if joystick:isGamepadDown("dpleft") then
position.x = position.x - speed * dt
elseif joystick:isGamepadDown("dpright") then
position.x = position.x + speed * dt
end
if joystick:isGamepadDown("dpup") then
position.y = position.y - speed * dt
elseif joystick:isGamepadDown("dpdown") then
position.y = position.y + speed * dt
end
end
function love.draw()
love.graphics.circle("fill", position.x, position.y, 50)
end
ゲームパッドのスティックで円の移動とサイズを変更します
function love.load()
local joysticks = love.joystick.getJoysticks()
joystick = joysticks[1]
leftCircle = {x = 200, y = 280, size = 50}
rightCircle = {x = 600, y = 280, size = 50}
speed = 300
end
function love.update(dt)
if not joystick then return end
leftCircle.x = leftCircle.x + dt*speed*joystick:getGamepadAxis("leftx")
leftCircle.y = leftCircle.y + dt*speed*joystick:getGamepadAxis("lefty")
rightCircle.x = rightCircle.x + dt*speed*joystick:getGamepadAxis("rightx")
rightCircle.y = rightCircle.y + dt*speed*joystick:getGamepadAxis("righty")
end
function love.draw()
local leftSize = (1-joystick:getGamepadAxis("triggerleft"))*leftCircle.size
local rightSize = (1-joystick:getGamepadAxis("triggerright"))*rightCircle.size
love.graphics.circle("fill", leftCircle.x, leftCircle.y, leftSize)
love.graphics.circle("fill", rightCircle.x, rightCircle.y, rightSize)
end
関連
- love.joystickadded (日本語)
- love.joystickremoved (日本語)
- love.joystickpressed (日本語)
- love.joystickreleased (日本語)
- love.joystickaxis (日本語)
- love.joystickhat (日本語)
そのほかの言語
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info