Difference between revisions of "love.keypressed (Русский)"

m
 
Line 1: Line 1:
 
Функция вызывается, когда происходит нажатие клавиши.
 
Функция вызывается, когда происходит нажатие клавиши.
 +
 
== Функция ==
 
== Функция ==
 +
{{newin|[[0.10.0]]|100|type=variant}}
 +
=== Вид ===
 +
<source lang="lua">
 +
love.keypressed( key, scancode, isrepeat )
 +
</source>
 +
=== Аргументы ===
 +
{{param (Русский)|KeyConstant|key|Символ нажатой клавиши.}}
 +
{{param|Scancode|scancode|Скан-код представляющий нажатую клавишу.}}
 +
{{param (Русский)|boolean|isrepeat|Если это событие нажатия клавиши повтор. Задержка между повторами клавиши зависит от системных настроек пользователя.}}
 +
=== Возвращает ===
 +
Ничего.
 +
=== Заметки ===
 +
[[Scancode|Скан-коды]] не зависят от раскладки клавиатуры, так что скан-код "w" будет сгенерирован если клавиша нажата в том же месте где и "w" на [https://en.wikipedia.org/wiki/British_and_American_keyboards#/media/File:KB_United_States-NoAltGr.svg американской клавиатуре], неважно как клавиша обозначена или какие настройки операционной системы имеет пользователь.
 +
 +
Повтор клавиш необходимо включить в [[love.keyboard.setKeyRepeat (Русский)|love.keyboard.setKeyRepeat]], чтобы получать события повторного нажатия клавиш. Это не отражается на [[love.textinput (Русский)|love.textinput]].
 +
 +
== Функция ==
 +
{{newinoldin|[[0.9.0]]|090|[[0.10.0]]|100|type=variant}}
 +
=== Вид ===
 +
<source lang="lua">
 +
love.keypressed( key, isrepeat )
 +
</source>
 +
=== Аргументы ===
 +
{{param (Русский)|KeyConstant|key|Символ нажатой клавиши.}}
 +
{{param (Русский)|boolean|isrepeat|Если это событие нажатия клавиши повтор. Задержка между повторами клавиши зависит от системных настроек пользователя.}}
 +
=== Возвращает ===
 +
Ничего.
 +
=== Заметки ===
 +
Повтор клавиш необходимо включить в [[love.keyboard.setKeyRepeat (Русский)|love.keyboard.setKeyRepeat]], чтобы получать события повторного нажатия клавиш.
 +
 +
== Функция ==
 +
{{oldin|[[0.9.0]]|090|type=variant|text=Ввод Unicode текста теперь обрабатывается отдельно через [[love.textinput (Русский)|love.textinput]]}}
 
=== Вид ===
 
=== Вид ===
 
<source lang="lua">
 
<source lang="lua">
Line 6: Line 39:
 
</source>
 
</source>
 
=== Аргументы ===
 
=== Аргументы ===
{{param_(Русский)|KeyConstant|key|Символ нажатой клавиши.}}
+
{{param (Русский)|KeyConstant|key|Символ нажатой клавиши.}}
{{param|number|unicode|Юникод номер клавиши.}}
+
{{param|number|unicode|Юникод номер нажатой клавиши.}}
 
=== Возвращает ===
 
=== Возвращает ===
 
Ничего.
 
Ничего.
 +
== Примеры ==
 +
Выход из игры, когда игрок нажимает клавишу Escape, используя [[love.event.quit (Русский)|love.event.quit]].
 +
<source lang="lua">
 +
function love.keypressed(key)
 +
  if key == "escape" then
 +
      love.event.quit()
 +
  end
 +
end
 +
</source>
 +
----
 +
 +
{{oldin|[[0.9.0]]|090|type=example|text=Ввод текста теперь обрабатывается отдельно через [[love.textinput (Русский)|love.textinput]]}}
 +
Сохранение и вывод текста, который вводит пользователь (0.8.0 и ниже).
 +
<source lang="lua">
 +
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
 +
</source>
 +
 
== Смотрите также ==
 
== Смотрите также ==
* [[parent::love_(Русский)]]
+
* [[parent::love (Русский)]]
 +
* [[love.keyreleased (Русский)]]
 +
* [[love.keyboard.isDown (Русский)]]
 +
* [[love.keyboard.isScancodeDown (Русский)]]
 +
* [[love.textinput (Русский)]]
 
[[Category:Callbacks]]
 
[[Category:Callbacks]]
 
{{#set:Description=Функция вызывается, когда происходит нажатие клавиши.}}
 
{{#set:Description=Функция вызывается, когда происходит нажатие клавиши.}}
 +
{{#set:Subcategory=General}}
 +
{{#set:Since=000}}
 +
 
== Другие языки ==
 
== Другие языки ==
 
{{i18n|love.keypressed}}
 
{{i18n|love.keypressed}}

Latest revision as of 00:06, 13 June 2018

Функция вызывается, когда происходит нажатие клавиши.

Функция

Available since LÖVE 0.10.0
This variant is not supported in earlier versions.

Вид

love.keypressed( key, scancode, isrepeat )

Аргументы

KeyConstant key
Символ нажатой клавиши.
Scancode scancode
Скан-код представляющий нажатую клавишу.
boolean isrepeat
Если это событие нажатия клавиши повтор. Задержка между повторами клавиши зависит от системных настроек пользователя.

Возвращает

Ничего.

Заметки

Скан-коды не зависят от раскладки клавиатуры, так что скан-код "w" будет сгенерирован если клавиша нажата в том же месте где и "w" на американской клавиатуре, неважно как клавиша обозначена или какие настройки операционной системы имеет пользователь.

Повтор клавиш необходимо включить в love.keyboard.setKeyRepeat, чтобы получать события повторного нажатия клавиш. Это не отражается на love.textinput.

Функция

Available since LÖVE 0.9.0 and removed in LÖVE 0.10.0
This variant is not supported in earlier or later versions.

Вид

love.keypressed( key, isrepeat )

Аргументы

KeyConstant key
Символ нажатой клавиши.
boolean isrepeat
Если это событие нажатия клавиши повтор. Задержка между повторами клавиши зависит от системных настроек пользователя.

Возвращает

Ничего.

Заметки

Повтор клавиш необходимо включить в love.keyboard.setKeyRepeat, чтобы получать события повторного нажатия клавиш.

Функция

Removed in LÖVE 0.9.0
Ввод Unicode текста теперь обрабатывается отдельно через love.textinput.

Вид

love.keypressed( key, unicode )

Аргументы

KeyConstant key
Символ нажатой клавиши.
number unicode
Юникод номер нажатой клавиши.

Возвращает

Ничего.

Примеры

Выход из игры, когда игрок нажимает клавишу Escape, используя love.event.quit.

function love.keypressed(key)
   if key == "escape" then
      love.event.quit()
   end
end

Removed in LÖVE 0.9.0
Ввод текста теперь обрабатывается отдельно через love.textinput.

Сохранение и вывод текста, который вводит пользователь (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

Смотрите также



Другие языки