0

我的班级上有一个按钮,可以将用户从一个场景带到另一个场景,例如从主菜单到游戏页面。现在,这可以正常工作,但我想限制触摸。就像,如果我触摸按钮然后拖动,那么我的过渡将不起作用,但如果我触摸按钮并放开它应该可以工作。我该如何实施?这是我的代码目前的样子,但它不起作用:

    if event.phase == "moved" then
    print("cannot be")
elseif event.phase == "began" then
    if event.phase == "ended" then
                storyboard.gotoScene("Game", "fade", 400)
    end
end

如何限制触摸事件?就像如果我触摸按钮,在屏幕上拖动并结束对按钮的触摸,它不应该转换到下一个场景?

4

1 回答 1

2

你应该尝试tap而不是touch. 如下:

 local function sceneChangeFunction()
     storyboard.gotoScene("Game", "fade", 400)
 end
 Runtime:addEventListener("tap",sceneChangeFunction)

或者

如果你想使用touch自己,那么你可以这样做:

 local sceneChangeFlag = false  -- create a flag, make it false
 local function sceneChangeFunction(e)
     if(e.phase=="began")then
         sceneChangeFlag = true           -- make it true in touch began
     elseif(e.phase=="moved")then
         sceneChangeFlag = false          -- make it false in touch moved
     else
         if(sceneChangeFlag==true)then    -- scene changes only if flag==true 
             sceneChangeFlag = false
             storyboard.gotoScene("Game", "fade", 400)     
         end
     end
 end
 Runtime:addEventListener("touch",sceneChangeFunction)

继续编码..... :)

于 2013-03-27T08:21:06.357 回答