PICO-8 如何在按钮按下后只显示一次文本?

我完全是LuaPICO-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
点赞
用户6834680
用户6834680

你需要全局变量来保存按钮的先前状态。

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
2018-09-14 07:08:49