Difference between revisions of "love.keyboard.isScancodeDown (日本語)"
(Created page with "{{newin (日本語)|0.10.0|100|type=関数}} 指定されたスキャンコードが押されたかどうか確認します。 love.keypressed (...") |
m |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{newin (日本語)|[[0.10.0]]|100|type=関数}} | + | {{newin (日本語)|[[0.10.0 (日本語)|0.10.0]]|100|type=関数}} |
− | 指定された[[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 13: | Line 13: | ||
{{param|Scancode|...|検出したい追加のキー。}} | {{param|Scancode|...|検出したい追加のキー。}} | ||
=== 返値 === | === 返値 === | ||
− | {{param|boolean|down|true | + | {{param|boolean|down|true ならば指定されたキーは押されており、それ以外ならば false です。}} |
+ | |||
+ | == 用例 == | ||
+ | 変換・無変換キーの取得 (日本語106 キーボード / Windows 環境用) | ||
+ | <source lang="lua"> | ||
+ | keystatus = "None" | ||
+ | |||
+ | function love.load() | ||
+ | love.keyboard.setTextInput(false) | ||
+ | end | ||
+ | |||
+ | function love.draw() | ||
+ | love.graphics.print("keypressed:" .. keystatus, 29, 30) | ||
+ | end | ||
+ | |||
+ | --- ` : 全角・半角・漢字 (Windows のみ) | ||
+ | --- international2 : ひらがな・カタカナ・ローマ字 | ||
+ | --- international4 : 変換 | ||
+ | --- 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 | ||
+ | </source> | ||
+ | |||
== 関連 == | == 関連 == | ||
Line 24: | Line 67: | ||
[[Category:Functions]] | [[Category:Functions]] | ||
{{#set:Since=100}} | {{#set:Since=100}} | ||
− | {{#set: | + | {{#set:PrettySince=0.10.0}} |
{{#set:Description=指定された[[Scancode (日本語)|スキャンコード]]が押されたかどうか確認します。}} | {{#set:Description=指定された[[Scancode (日本語)|スキャンコード]]が押されたかどうか確認します。}} | ||
+ | |||
== そのほかの言語 == | == そのほかの言語 == | ||
− | {{i18n|love.keyboard.isScancodeDown}} | + | {{i18n (日本語)|love.keyboard.isScancodeDown}} |
Revision as of 12:56, 6 June 2019
LÖVE 0.10.0 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
指定されたスキャンコードが押されたかどうか確認します。 love.keypressed または love.keyreleased コールバックとは混同しないでください。
正規のキー定数とは異なり、スキャンコードはキーボード配列に依存しません。キーにどの様な刻印がされているか、あるいは利用者のオペレーティング・システムの設定がどの様なものであるかに関わらず、米国配列のキーボードにある "w" キーと同じ位置にあるキーが押された場合はスキャンコードの "w" が使用されます。
関数
概要
down = love.keyboard.isScancodeDown( scancode, ... )
引数
返値
boolean down
- true ならば指定されたキーは押されており、それ以外ならば false です。
用例
変換・無変換キーの取得 (日本語106 キーボード / Windows 環境用)
keystatus = "None"
function love.load()
love.keyboard.setTextInput(false)
end
function love.draw()
love.graphics.print("keypressed:" .. keystatus, 29, 30)
end
--- ` : 全角・半角・漢字 (Windows のみ)
--- international2 : ひらがな・カタカナ・ローマ字
--- international4 : 変換
--- 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
関連
- love.keyboard (日本語)
- love.keyboard.isDown (日本語)
- love.keyboard.getKeyFromScancode (日本語)
- love.keyboard.getScancodeFromKey (日本語)
- love.keypressed (日本語)
- love.keyreleased (日本語)