2013-04-10 73 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