Lua: addEventListener 不能为 nil: nil 堆栈回溯。

好的,我已经盯着这个错误消息有将近一天了。

我正在尝试创建一个简单的事件监听器,以便在有人点击按钮时运行。问题在于,无论我决定如何命名它,它都说它是空值,不能使用。

我正在一个名为“scene”的scene上工作,self.view名为“sceneGroup”。我尝试添加监听器的矩形名为“mMnew”,并且在名为“mMnewU”的组中。

我尝试在所有这些名称之间更改名称。首先,我遇到了添加事件侦听器的问题,但已解决,问题是不同的解决方案适用于侦听器的名称。

监听器:

function scene.mMnewUeser:touch(event)
        if(event.phase == "begun")then
            local test1 = display.newRect(100,150,40,40)
            test1:setFillColor(0,1,0)
            print("Touch found")
        end
    end

添加了监听器:

scene:addEventListener("touch", scene.mMnewUeser)

我对这种语言仍然很陌生,习惯了使用JavaC,php,html,sql和AS3.0编码。抱歉我的问题很基础!

更新: 在添加了一些简单的检查点后,检查代码,似乎它拒绝运行function scene:create(event),但是我的场景确实通过了local composer = require("composer") local scene = composer.newScene()创建。

点赞
用户2964945
用户2964945

这个代码块

function scene.mMnewUeser:touch(event)

不是正确的语法。你可能想要这样写:

function scene:mMnewUeser(event)

这表示你正在向 scene 对象添加一个名为 mMnewUeser 的新方法。然后你可以像代码的最后一行那样使用它作为触摸监听器。查看这里关于点号和冒号之间差别的解释

2015-11-23 21:46:21