尝试索引全局变量'native'(一个空值)

我尝试使用以下代码创建一个文本框,

local defaultBox

local function textListener( event )

    if ( event.phase == "began" ) then
        -- 用户开始编辑 "defaultBox"

    elseif ( event.phase == "ended" or event.phase == "submitted" ) then
        -- 输出从 "defaultBox" 得到的文本
        print( event.target.text )

    elseif ( event.phase == "editing" ) then
        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )
    end
end

-- 创建文本框

defaultBox = native.newTextBox( 200, 200, 280, 140 )
defaultBox.text = "This is line 1.\nAnd this is line2"
defaultBox.isEditable = true
defaultBox:addEventListener( "userInput", textListener )

但是它没有运行并告诉我这个:

尝试索引全局变量'native'(一个空值)
点赞
用户3524201
用户3524201

我认为在这里最好的答案是拆解这个错误。

'attempt to index' 意味着你像处理表格一样对待了某个东西,并试图从中获取一个值。例如:

t.x
t:x
t[x]

global native 是你正在尝试索引的值。 'global' 部分告诉你它不是一个本地变量,而 'native' 部分是变量的实际名称。

由于 'native' 未定义(nil),请检查拼写是否正确,并确定是否需要 require 它。

local native = require 'native'
2016-09-02 12:29:01