Lua Gideros:绘制触摸线
问题描述:
在我使用Gideros和Lua的游戏中,我希望玩家能够从他们触摸屏幕的点开始画一条直线,直到他们释放的点。但是,当我尝试运行此代码时,我总是收到一条错误消息。下面是代码:Lua Gideros:绘制触摸线
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:主要区块
有没有人知道我为什么会收到此消息?
答
如果你
scene = gideros.class(Sprite)
这意味着场景是一类,但你只能到类,而不是类本身的实例事件侦听器添加。
所以这样的事情应该工作:
Scene = gideros.class(Sprite)
local scene = Scene.new()
stage:addChild(scene)
+0
我这样做,现在当我从屏幕上释放我的手指时,它说:main.lua:62:错误的参数#1到'moveTo'(预期的数字,得到零) 堆栈回溯: \t main.lua:62 :在功能<55>55>
哪里是行代码中的66? – 2014-09-30 00:26:22
我刚才添加了这个到我的问题。 – 2014-09-30 00:28:25