Difference between revisions of "love.keyboard.isScancodeDown (日本語)"

m
m
Line 2: Line 2:
 
指定された[[Scancode (日本語)|スキャンコード]]が押されたかどうか確認します。 [[love.keypressed (日本語)|love.keypressed]] または [[love.keyreleased (日本語)|love.keyreleased]] コールバックとは混同しないでください。
 
指定された[[Scancode (日本語)|スキャンコード]]が押されたかどうか確認します。 [[love.keypressed (日本語)|love.keypressed]] または [[love.keyreleased (日本語)|love.keyreleased]] コールバックとは混同しないでください。
  
正規の[[KeyConstant (日本語)|キー定数]]とは異なり、スキャンコードはキーボード配列に依存しません。キーにどの様な刻印がされているか、あるいは利用者のオペレーティング・システムの設定がどの様なものであるかに関わらず、[https://en.wikipedia.org/wiki/British_and_American_keyboards#/media/File:KB_United_States-NoAltGr.svg 米国配列のキーボード]にある "w" キーと同じ位置にあるキーが押された場合はスキャンコードの "w" が使用されます。
+
正規の[[KeyConstant (日本語)|キー定数]]とは異なり、スキャンコードはキーボード配列に依存しません。キーの刻印や利用者のオペレーティング・システムの設定に関わらず、[https://en.wikipedia.org/wiki/British_and_American_keyboards#/media/File:KB_United_States-NoAltGr.svg 米国配列のキーボード]にある "w" キーと同じ位置にあるキーが押された場合はスキャンコードの "w" が使用されます。
  
 
== 関数 ==
 
== 関数 ==
Line 10: Line 10:
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
{{param|Scancode|scancode|検出したいキー。}}
+
{{param|Scancode|scancode|検出を行うキー。}}
{{param|Scancode|...|検出したい追加のキー。}}
+
{{param|Scancode|...|続けて検出を行うキー。}}
 
=== 返値 ===
 
=== 返値 ===
 
{{param|boolean|down|true ならば指定されたキーは押されており、それ以外ならば false です。}}
 
{{param|boolean|down|true ならば指定されたキーは押されており、それ以外ならば false です。}}
  
== 用例 ==
+
 
変換・無変換キーの取得 (日本語106 キーボード / Windows 環境用)
+
== 関数 ==
 +
{{newin (日本語)|[[0.10.2 (日本語)|0.10.2]]|102|type=異形}}
 +
=== 概要 ===
 
<source lang="lua">
 
<source lang="lua">
keystatus = "None"
+
down = love.keyboard.isScancodeDown({ scancode, ... })
 +
</source>
 +
=== 引数 ===
 +
{{param|table|scancodes|検出を行うスキャンコードのテーブル。}}
 +
{{subparam|Scancode|scancode|検出を行うスキャンコード。}}
 +
{{subparam|Scancode|...|続けて検出を行うスキャンコード。}}
 +
=== 返値 ===
 +
{{param|boolean|down|true ならば指定されたスキャンコードは押されており、それ以外ならば false です。}}
  
function love.load()
+
== 用例 ==
love.keyboard.setTextInput(false)
 
end
 
  
function love.draw()
+
=== 移動で使う標準 WASD または矢印キー ===
love.graphics.print("keypressed:" .. keystatus, 29, 30)
+
<source lang="lua">
end
+
function love.update(dt)
 
+
local up    = love.keyboard.isScancodeDown('w', 'up')
--- `              : 全角・半角・漢字 (Windows のみ)
+
local down  = love.keyboard.isScancodeDown('s', 'down')
--- international2 : ひらがな・カタカナ・ローマ字
+
local left  = love.keyboard.isScancodeDown('a', 'left')
--- international4 : 変換
+
local right = love.keyboard.isScancodeDown('d', 'right')
--- international5 : 無変換
 
 
 
 
 
function love.update()
 
 
 
-- if love.keyboard.isScancodeDown('`', 'lang5') == true then
 
-- keystatus = "Zenkaku/Hankaku/Kanji (Windows Only)" -- 押すとほかのキーが反応しない。原因不明。
 
 
 
-- elseif love.keyboard.isScancodeDown('international2') == true then
 
-- keystatus = "Hiragana/Katakana/Roman" -- 押すとほかのキーが反応しない。原因不明。取りこぼしか?
 
 
 
-- elseif love.keyboard.isScancodeDown('space') == true then
 
-- keystatus = "Space"
 
 
 
if love.keyboard.isScancodeDown('international4') == true then
 
keystatus = "Henkan"
 
 
 
elseif love.keyboard.isScancodeDown('international5') == true then
 
keystatus = "Muhenkan"
 
 
 
else
 
keystatus = "None"
 
end
 
 
end
 
end
 
</source>
 
</source>
 
  
 
== 関連 ==
 
== 関連 ==

Revision as of 00:53, 24 June 2023

LÖVE 0.10.0 から使用可能
この関数は以前のバージョンでは非対応です。

指定されたスキャンコードが押されたかどうか確認します。 love.keypressed または love.keyreleased コールバックとは混同しないでください。

正規のキー定数とは異なり、スキャンコードはキーボード配列に依存しません。キーの刻印や利用者のオペレーティング・システムの設定に関わらず、米国配列のキーボードにある "w" キーと同じ位置にあるキーが押された場合はスキャンコードの "w" が使用されます。

関数

概要

down = love.keyboard.isScancodeDown( scancode, ... )

引数

Scancode scancode
検出を行うキー。
Scancode ...
続けて検出を行うキー。

返値

boolean down
true ならば指定されたキーは押されており、それ以外ならば false です。


関数

LÖVE 0.10.2 から使用可能
この異形は以前のバージョンでは非対応です。

概要

down = love.keyboard.isScancodeDown({ scancode, ... })

引数

table scancodes
検出を行うスキャンコードのテーブル。
Scancode scancode
検出を行うスキャンコード。
Scancode ...
続けて検出を行うスキャンコード。

返値

boolean down
true ならば指定されたスキャンコードは押されており、それ以外ならば false です。

用例

移動で使う標準 WASD または矢印キー

function love.update(dt)
	local up    = love.keyboard.isScancodeDown('w', 'up')
	local down  = love.keyboard.isScancodeDown('s', 'down')
	local left  = love.keyboard.isScancodeDown('a', 'left')
	local right = love.keyboard.isScancodeDown('d', 'right')
end

関連



そのほかの言語