san*_*dra 2 mobile lua function coronasdk
现在我们将所有代码都收集在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 ---------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我很确定你可以在Corona中使用Lua的require函数.
最简单的使用方法如下:
1)您可以在文件中创建任意数量的本地函数(让我们称之为extra.lua)
local function f1(...)
...
end
local function f2(...)
...
end
Run Code Online (Sandbox Code Playgroud)
2)在函数之后,您构建一个具有您想要"共享"的所有函数的表.这个表就像文件一样调用很常见,所以我会称之为extras:
local extras = {
f1 = f1,
f2 = f2
}
Run Code Online (Sandbox Code Playgroud)
这种表示法可能看起来很奇怪.它正在做的是创建一个表,在其中调用extras一个字段f1,指向本地函数f1.换句话说,呼叫f1(1,2,3)与呼叫相同extras.f1(1,2,3)
3)返回文件末尾的表:
return extras
Run Code Online (Sandbox Code Playgroud)
4)现在main.lua你可以使用额外的定义函数,如下所示:
local extras = require 'extras'
extras.f1(1,2,3)
extras.f2(4,5,6)
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!祝好运!
| 归档时间: |
|
| 查看次数: |
5427 次 |
| 最近记录: |