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)
}

results matching ""

    No results matching ""