轻拍交换位置 - 电晕sdk

时间:2016-05-12 14:06:51

标签: lua corona

如何看两个水龙头并将2个转换为相互交换位置? 例如:我点击对象[1],然后点击对象[2],然后他们将转换和交换位置。你们怎么会尝试设置它?

干杯

2 个答案:

答案 0 :(得分:1)

这样的事情:

local last = nil

local circle1 = display.newCircle(display.contentCenterX - 50, display.contentCenterY - 50, 25)
circle1.fill = { 0.0, 0.6, 1.0 }
local circle2 = display.newCircle(display.contentCenterX + 50, display.contentCenterY + 100, 25)
circle2.fill = { 1.0, 0.5, 0.0 }
local circle3 = display.newCircle(display.contentCenterX + 75, display.contentCenterY - 100, 25)
circle3.fill = { 0.4, 0.5, 0.0 }

local function onTouch( event )
    local target = event.target
    if event.phase == "ended" then
        if last == nil then
            last = target
        elseif last ~= target then
            transition.moveTo( last, { x=target.x, y=target.y } )
            transition.moveTo( target, { x=last.x, y=last.y } )
            last = nil
        end
    end
end

circle1:addEventListener( "touch", onTouch )
circle2:addEventListener( "touch", onTouch )
circle3:addEventListener( "touch", onTouch )

答案 1 :(得分:0)

我会保存第一个水龙头的坐标,然后在第二个水龙头的水龙头事件上,将第二个物体转换到第一个坐标和第一个到第二个水龙头的坐标。 / p>

有点像这样。这是伪代码。只是为了帮助提出这个想法。

local firstObject
local secondObject
local coordX, coordY
function firstTapEventListener(event.target)
   coordX = target.x
   coordY = target.y
end

function secondTapEventListener(event.target)
   firstObject.x = target.x
   firstObject.y = target.y
   target.x = coordX
   target.y = coordY
end
相关问题