PICO-8 при нажатии кнопки показывает вывод текста только один раз? - PullRequest
0 голосов
/ 13 сентября 2018

Я полный новичок как в Lua, PICO-8, так и в коде в целом.У меня проблемы с функцией, которую я хочу добавить в свою первую программу.Весь текст заполнен, я изменю его, как только получу правильный код и пойму его.

Как правило, перед _init() у меня есть функция ow(), определенная, где я нажимаю кнопку, и программа отображает текст "ow".Я поместил имя функции в _update(), чтобы она обновлялась 30 раз в секунду, чтобы увидеть, нажата ли кнопка;однако, это заставляет "ow" появляться 30 раз в секунду (или как долго кнопка нажата) вместо того, чтобы появиться один раз, когда я первоначально нажимаю кнопку.Как это исправить?Спасибо за вашу терпимость к вопросу нового кодера заранее.Вот мой код:

function ow()


if btn((X))
then print "ow"
     --how do i make it do this
     --only once?

end

end

function _init()
print "hello."

print "i have been waiting for you."

end

function _update()

ow()

end


function _draw()

end

1 Ответ

0 голосов
/ 14 сентября 2018

Вам нужна глобальная переменная для сохранения предыдущего состояния кнопки.

function ow()
   if btn((X)) then
      if not button_was_pressed then 
         button_was_pressed = true
         print "ow"
      end
   else
      button_was_pressed = false
   end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...