Difference between revisions of "love.keypressed (日本語)"
m |
m (Translation updated.) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== 関数 == | == 関数 == | ||
− | {{newin (日本語)|[[0.10.0]]|100|type=異形}} | + | {{newin (日本語)|[[0.10.0 (日本語)|0.10.0]]|100|type=異形}} |
=== 概要 === | === 概要 === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 15: | Line 15: | ||
ありません。 | ありません。 | ||
=== 注釈 === | === 注釈 === | ||
− | [[Scancode (日本語)|スキャンコード]] | + | [[Scancode (日本語)|スキャンコード]]はキーボード配列に依存しないため、キーにどの様な刻印がされているか、あるいは利用者のオペレーティング・システムの設定に関係なく、[https://en.wikipedia.org/wiki/British_and_American_keyboards#/media/File:KB_United_States-NoAltGr.svg 米国配列のキーボード]にある "w" キーと同じ位置にあるキーが押された場合はスキャンコードの "w" が生成されます。 |
キーリピートを有効にする必要があるときは [[love.keyboard.setKeyRepeat (日本語)|love.keyboard.setKeyRepeat]] でキー押し下げイベントを繰り返し受け取れます。これは [[love.textinput (日本語)|love.textinput]] の影響はありません。 | キーリピートを有効にする必要があるときは [[love.keyboard.setKeyRepeat (日本語)|love.keyboard.setKeyRepeat]] でキー押し下げイベントを繰り返し受け取れます。これは [[love.textinput (日本語)|love.textinput]] の影響はありません。 | ||
== 関数 == | == 関数 == | ||
− | {{newinoldin (日本語)|[[0.9.0]]|090|[[0.10.0]]|100|type=異形}} | + | {{newinoldin (日本語)|[[0.9.0 (日本語)|0.9.0]]|090|[[0.10.0]]|100|type=異形}} |
=== 概要 === | === 概要 === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 34: | Line 34: | ||
== 関数 == | == 関数 == | ||
− | {{oldin (日本語)|[[0.9.0]]|090|type=異形|text=現在の Unicode テキスト入力は [[love.textinput (日本語)|love.textinput]] を通して単独で扱われています}} | + | {{oldin (日本語)|[[0.9.0 (日本語)|0.9.0]]|090|type=異形|text=現在の Unicode テキスト入力は [[love.textinput (日本語)|love.textinput]] を通して単独で扱われています}} |
=== 概要 === | === 概要 === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 54: | Line 54: | ||
end | end | ||
</source> | </source> | ||
− | |||
− | {{oldin (日本語)|[[0.9.0]]|090|type=用例|text= | + | 移動キーの入力処理機構であり、キーを一回押すと一歩進みます。 |
− | + | <source lang="lua"> | |
+ | function love.keypressed( key, scancode, isrepeat ) | ||
+ | local dx, dy = 0, 0 | ||
+ | if scancode == "d" then -- 右方向へ移動 | ||
+ | dx = 1 | ||
+ | elseif scancode == "a" then -- 左方向へ移動 | ||
+ | dx = -1 | ||
+ | elseif scancode == "s" then -- 下方向へ移動 | ||
+ | dy = 1 | ||
+ | elseif scancode == "w" then -- 上方向へ移動 | ||
+ | dy = -1 | ||
+ | end | ||
+ | move (dx, dy) -- 有効なオブジェクトの移動で使う関数の実装が必要です。 | ||
+ | end | ||
+ | </source> | ||
+ | |||
+ | {{oldin (日本語)|[[0.9.0 (日本語)|0.9.0]]|090|type=用例|text=テキスト入力は、以後 [[love.textinput (日本語)|love.textinput]] を使用して個別に扱います}} | ||
+ | 利用者が書いたテキストの記録と表示をします (LÖVE 0.8.0 以前) | ||
<source lang="lua"> | <source lang="lua"> | ||
function love.load() | function love.load() | ||
Line 83: | Line 99: | ||
[[Category:Callbacks]] | [[Category:Callbacks]] | ||
{{#set:Description=キーが押されたときに発生するコールバック関数です。}} | {{#set:Description=キーが押されたときに発生するコールバック関数です。}} | ||
− | {{#set:Subcategory= | + | {{#set:Subcategory=Keyboard}} |
{{#set:Since=000}} | {{#set:Since=000}} | ||
== そのほかの言語 == | == そのほかの言語 == | ||
− | {{i18n|love.keypressed}} | + | {{i18n (日本語)|love.keypressed}} |
Latest revision as of 07:44, 4 July 2023
キーが押されたときに発生するコールバック関数です。
Contents
関数
LÖVE 0.10.0 から使用可能 |
この異形は以前のバージョンでは非対応です。 |
概要
love.keypressed( key, scancode, isrepeat )
引数
KeyConstant key
- 押されたキーの文字。
Scancode scancode
- 押されたキーを表すスキャンコード。
boolean isrepeat
- このキー押し下げイベントを繰り返すかどうか。キーを繰り返す間の遅延間隔は利用者のシステム設定に依存します。
返値
ありません。
注釈
スキャンコードはキーボード配列に依存しないため、キーにどの様な刻印がされているか、あるいは利用者のオペレーティング・システムの設定に関係なく、米国配列のキーボードにある "w" キーと同じ位置にあるキーが押された場合はスキャンコードの "w" が生成されます。
キーリピートを有効にする必要があるときは love.keyboard.setKeyRepeat でキー押し下げイベントを繰り返し受け取れます。これは love.textinput の影響はありません。
関数
LÖVE 0.9.0 まで使用可能でしたが LÖVE 0.10.0 で廃止されました |
この異形は以降のバージョンでは非対応です。 |
概要
love.keypressed( key, isrepeat )
引数
KeyConstant key
- 押されたキーの文字。
boolean isrepeat
- このキー押し下げイベントを繰り返すかどうか。キーを繰り返す間の遅延間隔は利用者のシステム設定に依存します。
返値
ありません。
注釈
キーリピートを有効にする必要があるときは love.keyboard.setKeyRepeat でキー押し下げイベントを繰り返し受け取れます。
関数
LÖVE 0.9.0 から廃止 |
現在の Unicode テキスト入力は love.textinput を通して単独で扱われています。 |
概要
love.keypressed( key, unicode )
引数
KeyConstant key
- 押されたキーの文字。
number unicode
- 押されたキーの Unicode 番号。
返値
ありません。
用例
遊技者が Escape キーを押したときにゲームを終了するには、 love.event.quit を使用します。
function love.keypressed(key)
if key == "escape" then
love.event.quit()
end
end
移動キーの入力処理機構であり、キーを一回押すと一歩進みます。
function love.keypressed( key, scancode, isrepeat )
local dx, dy = 0, 0
if scancode == "d" then -- 右方向へ移動
dx = 1
elseif scancode == "a" then -- 左方向へ移動
dx = -1
elseif scancode == "s" then -- 下方向へ移動
dy = 1
elseif scancode == "w" then -- 上方向へ移動
dy = -1
end
move (dx, dy) -- 有効なオブジェクトの移動で使う関数の実装が必要です。
end
LÖVE 0.9.0 から廃止 |
テキスト入力は、以後 love.textinput を使用して個別に扱います。 |
利用者が書いたテキストの記録と表示をします (LÖVE 0.8.0 以前)
function love.load()
text = "Type away! -- "
end
function love.keypressed(key, unicode)
-- 表示できない文字を無視する (http://www.ascii-code.com/ を参照)
if unicode > 31 and unicode < 127 then
text = text .. string.char(unicode)
end
end
function love.draw()
love.graphics.printf(text, 0, 0, 800)
end
関連
- love (日本語)
- love.keyreleased (日本語)
- love.keyboard.isDown (日本語)
- love.keyboard.isScancodeDown (日本語)
- love.textinput (日本語)