当使用Composer或Storyboard场景时,需要使用本地前向声明。

在故事板或组合器场景的前向声明部分中将所有函数和变量名称声明为本地变量是否是一个好的做法?

我之所以问这个问题是因为我遇到了错误,比如

attempt to index some function_or_variable (a nil value)

这些错误通常是与作用域相关的错误。我想知道下面的编码风格是否是避免此类错误的良好实践?

- 前向声明部分

    - 变量名称
    local mesg, ctr, initValue, finalValue, score, num_of_coins...

    - 函数名称
    local postMesg, checkCoins, buyCoins.....

- 前向声明部分

function checkCoins()
  - 代码
end

function buyCoins()
  - 代码
end

function postMesg()
  - 代码
end

我尝试在 Corona Labs 论坛上进行搜索,并找到了两个类似的问题,但没有答案。

您能分享在 Corona Storyboard 或 Composer API 中使用变量和函数名称的最佳实践吗?非常感谢!

点赞
用户2653067
用户2653067

你现在使用的方法不错,但并非最佳的方法。尽量避免使用全局函数。

你可以直接声明局部的 checkCoinsbuyCoinspostMesg 等函数,例如:

local function checkCoins()
-- 代码
end

local function buyCoins()
-- 代码
end

local function postMesg()
-- 代码
end

这是我知道的最佳方法之一。

2014-07-21 06:05:29