Lua Gideros:麻烦画线与触摸

时间:2014-09-29 23:56:59

标签: android graphics lua gideros

在我使用Gideros和Lua的游戏中,我希望玩家能够从他们触摸屏幕的点直到他们发布的点画一条直线。但是,当我尝试运行此代码时,我总是收到一条错误消息。这是代码:

local function onMouseDown(event)
    event.x = startx
    event.y = starty

    event:stopPropagation()
end

local function onMouseUp(event)
    event.x = endx
    event.y = endy
    event:stopPropagation()
    local line = Shape.new()
    line:setLineStyle(5, 0x0000ff, 1)
    line:beginPath()
    line:moveTo(startx,starty)
    line:lineTo(endx,endy)
    line:endPath()

end

下一行是我的代码中的第66行:

scene:addEventListener(Event.MOUSE_DOWN, onMouseDown)
scene:addEventListener(Event.MOUSE_UP, onMouseUp)

以下是我设置"场景":

的行
scene = gideros.class(Sprite)

这是我的错误消息:

main.lua:66:index' __ userdata'无法找到 堆栈追溯:     main.lua:66:在主要部分

有谁知道我收到此消息的原因?

1 个答案:

答案 0 :(得分:0)

如果你这样做

scene = gideros.class(Sprite)

这意味着scene是一个类,但是你只能将事件监听器添加到类的实例中,而不是类本身。

所以这样的事情应该有效:

Scene = gideros.class(Sprite)
local scene = Scene.new()
stage:addChild(scene)