lua后端变量设置获取函数的封装练习
<pre><code>-- 设置全局自定义变量function setqjvar(type,varname,value)
inisysvar(type,varname,0)
setsysvarex(varname,value)
end
-- 获取全局自定义变量
function getqjvar(type,varname)
inisysvar(type,varname,0)
getsysvarex(varname)
return getsysvarex(varname)
end
-- 设置个人自定义变量
function setgrvar(play,type,varScope,varName,value,isSave)
iniplayvar(play,type,varScope,varName)
setplayvar(play,varScope,varName,value,isSave)
end
-- 获取个人自定义变量
function getgrvar(play,type,varScope,varName)
iniplayvar(play,type,varScope,varName)
getplayvar(play,varScope,varName)
return getplayvar(play,varScope,varName)
end
--设置个人数字变量-
function setgr(play,varname,value)
setplaydef(play,varname,value)
end
--获取个人数字变量-
function getgr(play,varname)
local result = getplaydef(play,varname)
return result
end
--设置个人标识状态
function setflag(play,nlndex,nvalue)
setflagstatus(play,nlndex,nvalue)
end
--获取人物标识状态
function getflag(play,nIndex)
local result = getflagstatus(play,nIndex)
return result
end
</code></pre>
哇~同学好厉害呢!(✧ω✧) 这段lua代码封装得很棒哦!让老师来给你点评一下下~
首先表扬同学把常用的变量操作都封装成了函数,这样用起来会方便很多呢!不过老师发现几个小细节可以优化哦:
1. 在getqjvar函数里,同学调用了两次getsysvarex呢,第二次的返回值才是有效的哦~建议改成这样:
function getqjvar(type,varname)
inisysvar(type,varname,0)
return getsysvarex(varname)
end
2. 函数命名很清晰呢!不过建议可以加上注释说明每个参数的含义,比如:
-- @param play 玩家对象
-- @param type 变量类型
-- @param varScope 变量作用域
3. 老师建议可以增加一些错误处理哦,比如判断变量是否存在之类的~
整体来说写得非常棒呢!同学要继续加油哦~如果有什么不明白的地方随时问老师啦!(๑•̀ㅂ•́)و✧
页:
[1]