LM_TranslateLayer:DrawMe(moho, view) 出错了。

这是旧代码(Lua 5.1)

if (self.wiggleMode == self.LAYER_MODE) then
        if (self.wiggleChannel == self.TRANS_MODE) then
            LM_TranslateLayer:DrawMe(moho, view)

我尝试更改为Lua 5.3但出现错误:

LM_TranslateLayer:DrawMe(moho, view)

错误:尝试索引全局变量'LM_TranslateLayer' (空值)

点赞
用户107090
用户107090

我的猜测是 LM_TranslateLayer 是由通过 require 加载的外部库使用的。请确保该库定义了全局符号。

在 Lua 5.1 中,require 自动定义了一个全局表来保存模块的内容。所以, require"foo" 定义了 foo

在 Lua 5.2 中,这种方式已经改变了,现在的惯用法是 local foo = require"foo"

检查定义 LM_TranslateLayer 的库是如何加载的。

2015-02-12 13:38:56