Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 在抽头上交换位置-电晕sdk_Lua_Coronasdk - Fatal编程技术网

Lua 在抽头上交换位置-电晕sdk

Lua 在抽头上交换位置-电晕sdk,lua,coronasdk,Lua,Coronasdk,如何查看两个轻触并将2转换为相互交换位置? 例如:我点击对象[1],然后点击对象[2],然后他们会转换和交换位置。你们打算怎么做 干杯我会保存第一次点击的坐标,然后在第二次点击的点击事件中,将第二个对象转换为第一个坐标,将第一个对象转换为第二个点击的坐标 有点像这样。这是psuedo代码。只是为了帮助表达这个想法 local firstObject local secondObject local coordX, coordY function firstTapEventListener(eve

如何查看两个轻触并将2转换为相互交换位置? 例如:我点击对象[1],然后点击对象[2],然后他们会转换和交换位置。你们打算怎么做


干杯

我会保存第一次点击的坐标,然后在第二次点击的点击事件中,将第二个对象转换为第一个坐标,将第一个对象转换为第二个点击的坐标

有点像这样。这是psuedo代码。只是为了帮助表达这个想法

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
诸如此类的事:

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 )

谢谢Brett,太好了Maicon,谢谢你的帮助。然而,有些头寸不会互换。任何左右的东西都会互换,但任何远距离的东西都会被弄乱并消失。这是因为我产卵的方式吗?它目前在一行中生成3个对象,它们以3’s的形式叠加在一起。我看到问题发生的地方了。当它们向下移动(通过另一个过渡)时,它似乎存在交换位置的问题。出于某种原因,如果对象位于所选对象的左侧或右侧,则这不是问题。关于这个问题的解决方案有什么想法吗?可能需要在动画之前设置“last.isRunning=true”和“target.isRunning=true”,完成后设置为false。并选中“elseif last~=target And not last.isRunning And not target.isRunning”。