PICO-8 按下按钮只显示一次文本输出?

PICO-8 making a button press show an output of text only once?

我是 LuaPICO-8 和一般编码的完全新手。我在使用第一个程序中的函数时遇到了问题。文本都是占位符,一旦我正确理解代码,我就会更改它。

基本上,在 _init() 之前,我定义了一个函数 ow(),我在其中按下按钮,程序显示文本 "ow." 我将函数名称放在 _update() 这样它将以 30x/秒的速度更新以查看按钮是否被按下;然而,这使得 "ow" 每秒出现 30 次(或者无论按钮被按下多长时间),而不是在我最初按下按钮时出现一次。我该如何解决?提前感谢大家对一个新coder的问题的包容。这是我的代码:

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

您需要一个全局变量来保存按钮之前的状态。

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