gpt4 book ai didi

function - Corona SDK - 我们如何将外部函数连接到 main.lua?

转载 作者:行者123 更新时间:2023-12-02 22:13:44 26 4
gpt4 key购买 nike

现在我们所有的代码都集中在 main.lua 中。我们不想使用面向对象的代码,但仍然找到一种简单的方法将不同的对象分成单独的文件。

在我们的 main.lua 文件中,我们有水、船、男孩、岛屿和云等对象 - 所有这些对象一起创建了一大段代码。我们希望在它自己的 lua 文件中包含“BEGIN WATER 3”,并且能够使用一个简单的函数在 main.lua 中执行该代码。我们如何做到这一点?

这是我们的 main.lua 文件中的一个示例,显示“water3”:

--------------- BEGIN WATER 3 ---------------------------------------------------------

local watere = display.newImage( "water3.png", true )
game:insert( watere )
watere.y = 619
watere.x = 500
watere.xScale = 2

--water sound
local wavesound5 = media.newEventSound("waves.wav")

local function playWave5 (event)
media.playEventSound(wavesound5)
end

local w,h = display.contentWidth, display.contentHeight

local function callbackFunc()
print( "Transition 1 completed" )
end

local function mainwater(watere)
end

function loopar()
local myTween = transition.to(watere, {time=2300, x=(400), y=(h-140), transition=easing.inOutQuad, onComplete=loopar2})
end

function loopar2()
local myTween = transition.to(watere, {time=2200, x=(w-500), y=(h-120), transition=easing.inOutQuad, onComplete=loopar})
end

local listener2 = function()
print( "Transition 2 completed" )
end

local myTween = transition.to(watere, {time=2300, x=(w-400), y=(h-140), transition=easing.inOutQuad, onComplete=loopar})

watere:addEventListener("touch", playWave5)

---------------- END WATER 3 ---------------------------------------------------------

最佳答案

我很确定你可以使用Lua的require在 Corona 中运行。

最简单的使用方法如下:

1) 您可以在文件中创建任意数量的本地函数(我们称之为 extra.lua)

local function f1(...)
...
end

local function f2(...)
...
end

2) 在函数之后,您可以构建一个表,其中包含您想要“共享”的所有函数。该表的调用方式与文件类似,因此我将调用我的 extras:

local extras = {
f1 = f1,
f2 = f2
}

这个符号可能看起来很奇怪。它所做的是创建一个名为 extras 的表,其中包含一个名为 f1 的字段,指向本地函数 f1。换句话说,调用 f1(1,2,3) 与调用 extras.f1(1,2,3)

的作用相同

3)返回文件末尾的表格:

return extras

4) 现在在 main.lua 上,您可以使用在 extra 上定义的函数,如下所示:

local extras = require 'extras'

extras.f1(1,2,3)
extras.f2(4,5,6)

我希望这有帮助!祝你好运!

关于function - Corona SDK - 我们如何将外部函数连接到 main.lua?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5966811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com