首页 > 解决方案 > PICO-8 按下按钮仅显示一次文本输出?

问题描述

总的来说,我是Lua,PICO-8和编码的新手。我想在我的第一个程序中添加一个功能时遇到问题。文本都是占位符,一旦我得到正确的代码并理解它,我将更改它。

基本上,在_init()ow()定义了一个函数之前,我按下一个按钮,程序会显示文本“ow”。我把函数名放进去_update(),让它以 30x/秒的速度更新,看看按钮是否被按下;但是,这会使“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

标签: luapico-8

解决方案


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

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

推荐阅读