【问题标题】:Making an object return to start point in corona使物体在电晕中返回起点
【发布时间】:2013-12-15 19:03:19
【问题描述】:

所以我有一个函数,如果有人按住按钮(物体移动),它就会运行。但是我在那个对象和另一个静态对象之间也有这种碰撞,当第一个对象撞到第二个对象时,它会被送回起点。但问题是当我一直按住按钮移动对象时。它不会在碰撞时将其送回开始。它只是搞砸了。

这是我用于按住按钮功能的代码:

local holding = false
function enterFrameListener()
if holding then
 transition.to( cube, {time = 0, x= cube.x - 5} )
end
end

function touchHandler( event )
if event.phase == "began" then
    display.getCurrentStage():setFocus( event.target )
    event.target.isFocus = true
    Runtime:addEventListener( "enterFrame", enterFrameListener )
    holding = true
elseif event.target.isFocus then
    if event.phase == "moved" then
    elseif event.phase == "ended" then
        holding = false
        Runtime:removeEventListener( "enterFrame", enterFrameListener )
        display.getCurrentStage():setFocus( nil )
        event.target.isFocus = false
    end
end
return true
end
leftbutton:addEventListener( "touch", touchHandler )

这是我的碰撞代码:

function onCollision( event )

if ( event.phase == "began" ) then
  transition.cancel( )
  transition.moveTo( cube, {time = 0, x = 35, y = 100} )
end
end
redblock:addEventListener( "collision", onCollision )

【问题讨论】:

    标签: events lua coronasdk collision


    【解决方案1】:

    尝试在onCollision(event)函数的末尾插入return true,如下所示:

    function onCollision( event )
       if ( event.phase == "began" ) then
         transition.cancel( )
         transition.moveTo( cube, {time = 0, x = 35, y = 100} )
       end
       return true
    end
    

    【讨论】:

      【解决方案2】:

      将对象设为项目符号。 科罗娜有一处房产。 isBullet=真 将使您的物理对象成为子弹,因此它会在一秒钟内检查几次碰撞。 然后这个事件可以抛出,否则它不会引发那个事件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-28
        • 1970-01-01
        • 2015-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-26
        相关资源
        最近更新 更多