在我使用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:无法找到索引'__userdata‘堆栈回溯: main.lua:66:在主块中
有人知道我为什么会收到这个消息吗?
发布于 2014-10-01 17:49:15
如果你这样做了
scene = gideros.class(Sprite)它意味着场景是一个类,但是您只能将事件侦听器添加到类的实例中,而不能添加类本身。
所以像这样的事情应该有效:
Scene = gideros.class(Sprite)
local scene = Scene.new()
stage:addChild(scene)https://stackoverflow.com/questions/26110692
复制相似问题