在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
init.lua的学习开始,看大师是怎么对接口进行二次封装的~ 1、 local ok, socket = pcall(function() if ok then math.random() 上面代码的意图是: 创建一个socket,创建成功的话,ok = true,失败则ok = false。 创建成功的话,就用socket来获取时间,然后拿来作为随机种子,否则用os的time()方法来创建随机种子。 socket与os的差别在于,socket的对时间的获取精度更高(0.001s),os的精度则在秒(0.01s)。 然后random了四次。。。(听说因为Lua中的random方法在首次random时,有bug,所以。。。) 2、 if type(DEBUG) ~= "number" then DEBUG = 1 end cc = cc or {} require(cc.PACKAGE_NAME .. ".debug")
device = require(cc.PACKAGE_NAME .. ".device") 上面代码的意思是:如果DEBUG变量不是number的话,就设置值为1。 CURRENT_MODULE_NAME = ... 是为了获取当前lua文件的require路径, 假设有个文件夹app下有文件myapp.lua,那么此时的"..."的值:app.myapp 所以这个文件的表示应该是xxx.yyy.init 然后分割了下串,去除了尾部的.init,此时同一个文件夹下面的lua文件就可以正常require了, 像下面三行require的那种表示形式,表示require了与init.lua同文件夹下面的三个.lua文件。 然后echo打印控制台了下,接着可以看到我们常用的熟悉的身影了(device,audio,display...他们就是通过这种方式加载进来的) 3、 if not NO_EXTENSIONS then if not NO_SHORTCODES then local sharedTextureCache = CCTextureCache:sharedTextureCache() if DEBUG_FPS then if DEBUG_MEM then 上面的代码:首先把需要包含的文件require进来,用短名命名TextureCache和Director, 然后根据相关的标志位,打开FPS,打开垃圾显示,每过10秒显示一次lua的内存信息。 |
请发表评论