所以我有这个立方体,如果玩家点击按钮移动。我也有这个块,如果立方体碰撞,立方体将被发送回起始位置。我已经尽了最大努力,但我似乎无法让他们两个一起正常工作。使用我的代码,立方体会出现故障,并在块和起始位置之间移动整个屏幕。这是按下按钮的情况。如果它在碰撞的同一时刻被释放它确实有效,但显然玩家不会注意到这一点。
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 = 35} )
end
return true
end
redblock:addEventListener( "collision", onCollision )
此外:每当立方体落在红色块的边缘并开始旋转并被送回开始。它一直在旋转,它开始自行移动。
我希望有人可以提供帮助! 感谢。
答案 0 :(得分:0)
在碰撞过程中你仍然处于“移动”阶段,因此块会尝试重置,但之后会被拖动。一旦检测到碰撞,您需要从“左按钮”中删除事件处理程序,以便触摸事件不再进行。