Difference between revisions of "love.keyboard.isScancodeDown"
m (Added table variant available since 0.10.2) |
(→Standard WASD or arrow keys for movement) |
||
(One intermediate revision by the same user not shown) | |||
Line 37: | Line 37: | ||
local left = love.keyboard.isScancodeDown('a', 'left') | local left = love.keyboard.isScancodeDown('a', 'left') | ||
local right = love.keyboard.isScancodeDown('d', 'right') | local right = love.keyboard.isScancodeDown('d', 'right') | ||
+ | end | ||
+ | </source> | ||
+ | |||
+ | Or | ||
+ | <source lang="lua"> | ||
+ | function love.update(dt) | ||
+ | local speed = 100 | ||
+ | local dx, dy = 0,0 | ||
+ | local isScancodeDown = love.keyboard.isScancodeDown | ||
+ | if isScancodeDown ('a') then dx = dx - dt*speed end | ||
+ | if isScancodeDown ('d') then dx = dx + dt*speed end | ||
+ | if isScancodeDown ('w') then dy = dy - dt*speed end | ||
+ | if isScancodeDown ('s') then dy = dy + dt*speed end | ||
end | end | ||
</source> | </source> |
Latest revision as of 09:39, 8 January 2024
Available since LÖVE 0.10.0 |
This function is not supported in earlier versions. |
Checks whether the specified Scancodes are pressed. Not to be confused with love.keypressed or love.keyreleased.
Unlike regular KeyConstants, Scancodes are keyboard layout-independent. The scancode "w" is used if the key in the same place as the "w" key on an American keyboard is pressed, no matter what the key is labelled or what the user's operating system settings are.
Contents
Function
Synopsis
down = love.keyboard.isScancodeDown( scancode, ... )
Arguments
Returns
boolean down
- True if any supplied Scancode is down, false if not.
Function
Available since LÖVE 0.10.2 |
This variant is not supported in earlier versions. |
Synopsis
down = love.keyboard.isScancodeDown({ scancode, ... })
Arguments
table scancodes
- Table of Scancodes to check.
Returns
boolean down
- True if any supplied Scancode is down, false if not.
Examples
Standard WASD or arrow keys for movement
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
Or
function love.update(dt)
local speed = 100
local dx, dy = 0,0
local isScancodeDown = love.keyboard.isScancodeDown
if isScancodeDown ('a') then dx = dx - dt*speed end
if isScancodeDown ('d') then dx = dx + dt*speed end
if isScancodeDown ('w') then dy = dy - dt*speed end
if isScancodeDown ('s') then dy = dy + dt*speed end
end
See Also
- love.keyboard
- love.keyboard.isDown
- love.keyboard.getKeyFromScancode
- love.keyboard.getScancodeFromKey
- love.keypressed
- love.keyreleased
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info