代码之家  ›  专栏  ›  技术社区  ›  Slim

如何在Roblox中调用其他脚本文件中的函数

  •  4
  • Slim  · 技术社区  · 17 年前

    我在包含函数的工作区中嵌入了一个脚本文件。我想从嵌入在工作区子对象中的脚本文件调用这些函数。我不想将这些函数复制并粘贴到多个脚本文件中。我认为如果可能的话,面向对象的方法将是最好的。

    8 回复  |  直到 17 年前
        1
  •  5
  •   ZombieSpy    11 年前

    G的另一种替代方法是使用同样全局可用的表, . Shared的使用方式与_G相同,但必须在变量标识符之前指定“Shared”,而_G的使用方式不同 ( not anymore in ROBLOX ).Shared用于以下上下文:

    shared["variablename"] = value
    

    就像在全局堆栈中一样。 共享资源的使用示例:

    脚本1

    shared["rprint"] = function(array) for i,v in pairs(array) do print(i, v) end end
    

    脚本2

    repeat wait() until shared["rprint"]
    shared.rprint({"Hello, ", "How", " are", " you?"})
    

    这个脚本的输出是“你好吗?”

        2
  •  3
  •   user809559    15 年前

    最简单的方法是使用或共享。

    在一个剧本中,

    _G.myFunction = function(Arguments)

    -- blah

    end

    在另一个脚本中,您将使用此代码。

    repeat wait() until _G.myFunction ~= nil

    _G.myFunction()

        3
  •  2
  •   Cool12309    15 年前

    我知道以前有人说过,但是只要使用普通的或共享的访问它就可以了。

    脚本一

    _G.myFunction = function()
         print("Hello, myFunction!")
    end
    

    剧本二

    repeat wait() until _G.myFunction()
    _G.myFunction()
    

    输出

        4
  •  2
  •   Cody Gray Felix    7 年前

    您可以将函数设置为全局函数。在里面

    _G.myFunction = function() print("Hello World") end
    

    在另一个脚本中,执行以下操作:

    repeat wait() until myFunction myFunction()
    

    通过定义函数,您必须 等待脚本执行 分配函数,然后您可以 调用函数,即使没有 指定_G。

    正如我前面提到的,您也不能在ROBLOX中使用dofile()。

    回答这个问题:您需要在全局表-_G中的一个脚本中创建一个函数,方法是添加_G.MyFunction=function(parameters)end。在另一个脚本中,需要在_G表-_G.MyFunction()中访问它。

    ROBLOX脚本编写人员面临的一个常见问题是,在创建函数之前,您试图访问函数内部。解决这个问题的一个简单方法是添加一个等待,直到它被创建,正如Camoy的帖子所建议的:

    repeat wait() until _G.MyFunction() 
    
        5
  •  1
  •   Camoy    16 年前

    您可以将函数设置为全局函数。在一个脚本中执行以下操作:

    _G.myFunction = function() print("Hello World") end
    

    在另一个脚本中,执行以下操作:

    repeat wait() until myFunction myFunction()
    

    通过定义函数is _G,您必须等待脚本执行分配函数,然后您甚至可以在不指定_G的情况下调用函数。

        7
  •  1
  •   Theevilem    9 年前

    您可以使用谢天谢地添加的模块脚本。您可以将函数放在那里,然后调用并在其他任何地方使用它们!

    推荐文章