Lua Gideros:带有触摸的直线2

在我的使用 Lua 和 Gideros studio 制作的游戏中,我想让玩家从鼠标按下到鼠标抬起之间画一条直线。这是我的代码,但是它不起作用:

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

    event:stopPropagation()
end

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

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

有人知道为什么这不起作用吗?谢谢!

这是我另一个问题的第二部分。

点赞
用户2274511
用户2274511

如果你说“不工作”,指的是什么都没有发生并且屏幕上也没有画面显示,则是因为你没有将形状添加到舞台层级结构中。

应该像这样:

local line = Shape.new()
line:setLineStyle(5, 0x0000ff, 1)
--可以添加到舞台或者其他位置,
--如果你正在使用它作为场景
stage:addChild(line)

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

    event:stopPropagation()
end

local function onMouseUp(event)
    line:beginPath()
    line:moveTo(startx,starty)
    line:lineTo(event.x,event.y)
    line:endPath()
    event:stopPropagation()
end

place:addEventListener(Event.MOUSE_DOWN, onMouseDown)
place:addEventListener(Event.MOUSE_UP, onMouseUp)
2014-10-15 15:07:06