TA的每日心情 | 怒 2019-12-27 13:32 |
---|
签到天数: 15 天 连续签到: 1 天 [LV.4]测试营长
|
lua负责游戏客户端功能的逻辑拼接,目前部分服务器用C系的也用lua做为很好的关联性语言。
但是lua本身的函数式编程,让开发一些工具和读actor模式等程序代码时会比较吃力。
这里推荐使用:引用的方式。
- --获取当前的格式时间 utils/dateUtils.lua
- function getDateNow()
- local nowTime = os.date("%Y-%m-%d %H:%M:%S", os.time())
- return nowTime
- end
复制代码 比如上面这个,如果其他文件要调用的话
可以这么写
- require("utils.dateUtils")
- local string = string; --变局部变量
- print(string.format(getDateNow()))
复制代码 但是这个时典型的函数式编程。
要面向对象的模式 先实例在使用就需要对getDateNow()函数进行改造
- local DateU = {}
- function DateU:New()
- local obj ={}
- self.__index = self --绑定obj后面对象到self
- setmetatable(obj,self) --设置元对象
- return obj
- end
- function DateU:getDateNow()
- local nowTime = os.date("%Y-%m-%d %H:%M:%S", os.time())
- -- print(nowTime)
- return nowTime
- end
- return DateU --需要返回才能实例化
复制代码 然后在引用后调用的文件内部修改
- local DateTime = require("utils.dateUtils")
- local date = DateTime:New()
- print(string.format(date:getDateNow()))--需要注意一定是通过:引用,因为前面是:声明的
复制代码 结果就出来一样的了。通过了解这种的结构,提升对于游戏测试读代码的能力。
|
评分
-
查看全部评分
|