本篇中,我们主要讲到一些Lua游戏逻辑开发中的优化思路,以及我们项目中的一部分应用。
开始之前,我们先说个题外话。编者认为,对于个人而言,程序高效可能会高于维护性。但对于团队合作来说,往往易懂、易维护、易扩展,稳定是基本要求,再去追求极致。
这里的高效都是相对的,作为一名程序员来说,我觉得高效应该是一种习惯和追求。
扯了一下,回归正题,这节里我们先从7个点来介绍。
1. 接口统一、抽象化
避免代码过多的Ctrl+C、Ctrl+V,把通用部分抽象化或者统一管理,让代码易读性更强,维护起来也更加方便。
大家看下一下这段代码。
if vo.cd_time == 0 then
self.cdTimeTxt:setVisible(false)
UITools.loadTexturesFromPilst(self.upBtn, "ui/commonUI/btnBG10.png", "ui/commonUI/commonUI")
self.tipsTxt:setVisible(false)
if vo.goods_num >= vo.cost_coin then
self:setButtonEffect(true)
else
self:setButtonEffect(false)
end
if vo.is_tupo == 1 then
self.panel1:setVisible(false)
self.panel2:setVisible(true)
self.istopo = true
self.upBtn:setTitleText(AwakeWords[3])
self.light = ActionTimeLineUtils.getAnimate(resPth3, "action", nil, true)
local x1,y1 = self.Image_2:getPosition()
self.light:setPosition(x1,y1)
self.light:setScale(2)
self.root:addChild(self.light)
else
removeLight()
self.istopo = false
self.panel1:setVisible(true)
self.panel2:setVisible(false)
self.upBtn:setTitleText(AwakeWords[