【问题标题】:How to make an infinite loop in Lua code?如何在 Lua 代码中进行无限循环?
【发布时间】:2010-11-14 22:14:55
【问题描述】:

我想在内存中永久使用三个本地函数:

proxy:PlayerParamRecover();
proxy:PlayerRecover();
proxy:EnableInvincible(10000,true);

我不确定如何将它们添加到无限循环中。

【问题讨论】:

  • 你是什么意思,“在内存中永远使用”?
  • 请注意语言被命名为“Lua”,而不是“LUA”。它是葡萄牙语中地球月球的专有名称。
  • 如果您想编辑您的问题,您可以点击标签下方的“编辑”链接。试一试。
  • 您在什么游戏引擎或环境中工作?这似乎对您的问题很重要

标签: loops lua infinite-loop


【解决方案1】:

你想要一个while 循环:

while true do
  proxy:PlayerParamRecover()
  proxy:PlayerRecover()
  proxy:EnableInvincible(10000,true)
end

补充资料here

请注意,由于 while 循环在进入该循环后将始终控制程序,因此您在它之后编写的任何代码都不会执行。无限循环仅在极端情况下才有用 - 请确保您想要做的事情有保证。

【讨论】:

  • 一件事:你不能在“do”后面写冒号,这就是你在Python中会做的事情,但在Lua中不会
  • 另外,即使在同一行有多个语句,Lua 也不需要分号。
【解决方案2】:

有两种使用无限循环的方法:

repeat
-- do something
until false

-- 或--

while true do
-- do something
end

【讨论】:

    【解决方案3】:

    如果您想在命令栏中每秒、无限或类似地说“Hello”,您可以使用以下格式:

        while true do
        -- whatever
        end
    

    例如,

        while true do
        print("Hello")
        wait(1)
        end
    

    【讨论】:

    • 虽然这实际上是准确的,但上面的代码会阻塞线程,并且不太可能是解决这个人问题的正确方法
    猜你喜欢
    • 2013-12-30
    • 1970-01-01
    • 2012-10-14
    • 2014-05-14
    • 1970-01-01
    • 2017-03-09
    • 2017-10-10
    • 1970-01-01
    • 2019-06-16
    相关资源
    最近更新 更多