2013-04-10 74 views
0

所以我最近玩的游戏我一直在研究一个让玩家回到主菜单的按钮,但是由于某些原因,无论您在场景中触摸哪个位置,它仍然会o菜单。我只是想要它,所以当我点击它进入菜单的图像。Corona SDK触摸事件

继承人的代码:

function scene:createScene(event) 

    screenGroup = self.view 

    local createHud = function() 

    gameBg = display.newImage("bg.png") 
    lvlnumber = display.newImage("lvlnumber.png", 0, -6) 
    menubutton = display.newImage("menubutton1.png", -10, -6) 

    screenGroup:insert(gameBg) 
    screenGroup:insert(lvlnumber) 
    screenGroup:insert(menubutton) 
    end 
end 

function scene:enterScene(event) 

    local group = self.view 

    local function onSceneTouch(event) 
    if event.phase == "ended" then 
     storyboard.gotoScene("menu", "slideRight", 500) 
     return true 
    end 
    end 

    function startButtonListeners(action) 
    if(action == 'add') then 
     menubutton:addEventListener('touch', onSceneTouch) 
    end 
    end 

    startButtonListeners('add') 

    gameListeners("add") 

end 

任何帮助吗?谢谢!

+1

你''createHud函数的定义,但从来没有得到执行。 – 2013-04-10 09:18:06

+0

执行它我不只是把createHud()在最后?如果是的话,我已经这样做了。 – 2013-04-10 22:42:06

+0

仍然有困难:(由于某些原因,主菜单上的启动按钮可以工作,但在播放时将菜单按钮带到菜单中并不会) – 2013-04-11 04:53:56

回答

1

对于每一个触摸事件,使用上面的代码:

local function touchHandler(event) 
    if event.phase == "began" then 
     -- Some code here -- 
     display.getCurrentStage():setFocus(event.target) 
     event.target.isFocus = true 
    elseif event.target.isFocus then 
     if event.phase == "moved" then 
      -- Some code here -- 
     elseif event.phase == "ended" then 
      -- Some code here -- 
      display.getCurrentStage():setFocus(nil) 
      event.target.isFocus = false 
     end 
    end 
    return true 
end 
+0

我捆绑了您的代码,它似乎仍然进入了菜单无论我在哪里点击游戏 – 2013-04-12 01:51:42

+0

其实我认为它是因为图像大小是320x480,当它只需要左上角时,我会调整它并让它知道它是否工作 – 2013-04-12 02:55:35

+0

yup它是图像大小,感谢您的帮助,我现在在我的项目中使用该代码 – 2013-04-12 03:16:29