btnp
получение состояния кнопки джойстика в указанном периоде времени
btnp ([id, [hold, period]]
) -> pressed
Параметры:id
- код кнопки, которую нужно опросить. Коды кнопок смотрите в описанииhold
- время (в тиках) сколько кнопка должна быть нажата, чтобы рассматривать её состояние как "нажата"period
- время (в тиках), после которого функция будет возвращать true
снова
Возвращает:pressed
- состояние опрашиваемой кнопки, true
если кнопка нажата
Описание:
Эта функция позволяет читать статус одной из кнопок, задействованных в TIC.
Функция возвращает значение true
только в момент нажатия на клавишу.
Она также может быть использована с параметрами hold
и period
, которые позволяют возвращать true
во время нажатия кнопки. После того как время нажатия hold
закончится, функция вернет true каждый раз когда закончится время указанного периода period
.
Время выражается в тиках: при 60 fps это означает, что 120 тиков равны 2 секундам.
Коды кнопок джойстиков:
Первый джойстик | Код | Второй джойстик | Код |
---|---|---|---|
Вверх: | 0 | Вверх: | 8 |
Вниз: | 1 | Вниз: | 9 |
Влево: | 2 | Влево: | 10 |
Вправо: | 3 | Вправо: | 11 |
Кнопка А: | 4 | Кнопка А: | 12 |
Кнопка Б: | 5 | Кнопка Б: | 13 |
Пример:
Запустить или скачать картридж примера.
-- title: btnp demo
-- author:
-- desc: move the rectangle in 10 pixels step,
-- every time one direction keys is pressed.
-- the rectangle move every tenth of seconds.
-- script: lua
-- input: gamepad
x=120
y=80
cls(12)
function TIC()
if btnp(0,60,6) then y=y-10 end
if btnp(1,60,6) then y=y+10 end
if btnp(2,60,6) then x=x-10 end
if btnp(3,60,6) then x=x+10 end
rect(x,y,10,10,8)
end
Запустить или скачать картридж примера.
-- title: btnp demo
-- author:
-- desc: move the rectangle in 10 pixels step,
-- every time one direction keys is pressed.
-- the rectangle move every tenth of seconds.
-- script: moon
-- input: gamepad
x=120
y=80
cls 12
export TIC=->
if btnp(0,60,6) then y-=10
if btnp(1,60,6) then y+=10
if btnp(2,60,6) then x-=10
if btnp(3,60,6) then x+=10
rect x,y,10,10,8
// title: btnp demo
// author:
// desc: move the rectangle in 10 pixels step,
// every time one direction keys is pressed.
// the rectangle move every tenth of seconds.
// script: js
// input: gamepad
var x = 120
var y = 80
cls(12)
function TIC() {
if (btnp(0, 60, 6)) y -= 10
if (btnp(1, 60, 6)) y += 10
if (btnp(2, 60, 6)) x -= 10
if (btnp(3, 60, 6)) x += 10
rect(x, y, 10, 10, 8)
}