如何在一段时间内保持数值不变

我是一个 Lua 脚本的新手,所以希望我使用正确的术语来描述此问题,如果我没有,请原谅,我会慢慢变得更好......

我正在使用 Lua 编写游戏代码。我有一个设置数值的函数。现在我需要在一段时间内“保持”这个值,之后它会被设置为另一个值。

我正在尝试复制这种行为: 想象一个汽车的启动钥匙。 0=关闭 1=点火 2=点火+启动器 -- 这会触发引擎点火。在现实生活中,“启动”位置2在启动器执行其操作时被保持,一旦引擎点火,您就可以松开,它会弹回到1,继续点火。

现在想象一个启动按钮,它不能不被按下且被保持在位置 = 2(像钥匙一样)等待启动器点火所需的时间。相反,一旦接触到,启动器就应该在位置2中运行一段固定的时间,当它感觉到一定的 = RPM 时,启动器就会停止并回到位置1,并使引擎运行。

同样,我有一个按钮,当“触摸”时触发启动器,但预期的启动器事件从0到2再到1瞬间完成。如果我设置它为2,那么它会一直运行。

我需要将其2阶段位置保持15秒钟,然后它可以回到1。

我有: 有一个具有动画状态的按钮。 (0关闭,1,2)。 如果为0则为1,如果为1则为2,使用phase == 2作为从2回到1的弹簧步骤 在position == 2时,StarterKey = 2 没有语法问题。 StarterKey变量被触发为2,当在位置2 - 但不足以点火引擎。我需要StarterKey = 2保持为2 15秒钟。或者,我需要延长整个if阶段== 2阶段的时间吗?不确定。

请问我应该看什么?以下是相关片段..

function EngineStart()
  if phase == 0 then
   if ButtonState == 0 then
       ButtonState = 1
       StarterKey = 2      -- 我尝试添加*duration = 15*此事件,但这不起作用
   end
   end
   end
  • 当按钮处于position == 2时,我还有随后的_elseif phase == 2_部分,以便它弹回到1 -- 所有这些都很好。

我需要如何,或需要使用什么,来引入我的事件和函数的时间? 我不想测量时间,但设置事件时间。

谢谢!

点赞
用户13609543
用户13609543

我通过在线看 Lua 教程视频(教给了我如何解决问题)并发现模拟器有一个定时器功能,我使用它设置了启动钥匙按下其 2 位置的时间,这足以让火花塞发挥作用。QED :)) HA!

2020-06-11 05:06:17