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

(Created page with "キーが押されたときに発生するコールバック関数です。 == 関数 == {{newin (日本語)|0.10.0|100|type=異形}} === 概要 === <source lang="lua"> l...")
 
m (Translation updated.)
 
(5 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 (日本語)|スキャンコード]]はキーボード配列に依存しないため、キーにどの様な刻印がされているか、あるいは利用者のオペレーティング・システムの設定がどの様なものであるかに関わらず、[https://en.wikipedia.org/wiki/British_and_American_keyboards#/media/File:KB_United_States-NoAltGr.svg 米国配列のキーボード]にある "w" キーと同じ位置にあるキーが押された場合はスキャンコードの "w" が生成されます。
+
[[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=テキスト入力は以後 [[love.textinput (日本語)|love.textinput]] を経由して個別に扱われます。}}
+
移動キーの入力処理機構であり、キーを一回押すと一歩進みます。
利用者が書いたテキストの記録及び表示をします (LÖVE 0.8.0 以降)
+
<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=General}}
+
{{#set:Subcategory=Keyboard}}
 
{{#set:Since=000}}
 
{{#set:Since=000}}
  
 
== そのほかの言語 ==
 
== そのほかの言語 ==
{{i18n|love.keypressed}}
+
{{i18n (日本語)|love.keypressed}}

Latest revision as of 07:44, 4 July 2023

キーが押されたときに発生するコールバック関数です。

関数

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

関連



そのほかの言語