Луа Гидерос: Линия с прикосновением 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)

Кто-нибудь знает, почему это не работает? Спасибо!

Это часть 2 моего другого вопроса.

1 ответ

Решение

Если вы не работаете, вы имеете в виду, что ничего не происходит и ничего не рисуется на экране, то это потому, что вы не добавили свою фигуру на сцену

Должно быть так:

local line = Shape.new()
line:setLineStyle(5, 0x0000ff, 1)
--can add to stage or maybe place, 
--if that's what you are using for scene
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)
Другие вопросы по тегам