lua中的模块相当于一个自己封装的库。
lua中模块是用table来实现的。
封装自己的module
local mymodule={}
local this=mymodule
--添加一个speed的字段
this.speed=30.5
this.playaudio=function ( audioname )
print( string.format('播放声音 %q',audioname))
end
local function effect( effectname )
print(string.format( '展示一个名为 %s 的特效',effectname))
end
this.showeffect= effect
--return mymodule
return mymodule
创建一个lua脚本用来加载moudle
--加载一个module
local mm=require 'mymodule'--用的是module所在lua脚本的名字
--调用mymodule中的speed字段
local sp=mm.speed
print(sp)
--调用mymodule中的 playaudio 函数
mm.playaudio('游戏开始')
--调用mymodule中的 showeffect函数
mm.showeffect('攻击')
总结
1、创建的moudle最后需要return 这个module
2、加载module用的关键字时 require
3、加载module的时候require ‘moudle所在的lua脚本的名字’
4、moudle中的私有函数,只能在当前module所在的lua脚本中使用。外部如果想使用这个私有函数,需要在当前module中把私有函数赋值给要给全局函数