Hi,
I use this touch even on another page with just an image. Now on this next page I have inserted the background image in a scrollView and want to use the onSceneTouch even I have coded. But when I click it does not do anything. I must have something wrong with it using a scrollView control.
Any ideas? Thanks!!!
Warren
local storyboard = require( "storyboard" ) storyboard.removeAll() local scene = storyboard.newScene() local widget = require "widget" local imgHome local scrollView = widget.newScrollView{ width = 320, height = 480, top = 0, left = 0, scrollWidth = 320, scrollHeight = 505 } -- Touch event listener for background image local function onSceneTouch( event ) if event.phase == "began" and imgHome.ready then --MENU BAR if event.x \> 0 and event.y \> 0 and event.x \< 300 and event.y \< 300 then storyboard.gotoScene( "sceneHome" ) end elseif event.phase == "moved" then -- Check if you moved your finger while touching local dx = math.abs( event.x - event.xStart ) -- Get the x-transition of the touch-input local dy = math.abs( event.y - event.yStart ) -- Get the y-transition of the touch-input if dx \> 5 or dy \> 5 then scrollView:takeFocus( event ) -- If the x- or y-transition is more than 5 put the focus to your scrollview end end return true end -- Called when the scene's view does not exist: function scene:createScene( event ) local screenGroup = self.view imgHome = display.newImage( "selectmenu.png" ) screenGroup:insert( imgHome ) imgHome.touch = onSceneTouch imgHome:addEventListener( "touch", onSceneTouch ) scrollView:insert( imgHome ) screenGroup:insert( scrollView ) end -- Called immediately after scene has moved onscreen: function scene:enterScene( event ) local group = self.view --[[imgHome.ready = true [!] Disabled since the listener is added above. -- Update Lua memory text display local showMem = function() imgHome:addEventListener( "touch", imgHome ) end local memTimer = timer.performWithDelay( 1000, showMem, 1 ) --]] end -- Called when scene is about to move offscreen: function scene:exitScene( event ) local group = self.view imgHome.ready = false end -- Called prior to the removal of scene's "view" (display group) function scene:destroyScene( event ) local group = self.view end --------------------------------------------------------------------------------- -- END OF YOUR IMPLEMENTATION --------------------------------------------------------------------------------- -- "createScene" event is dispatched if scene's view does not exist scene:addEventListener( "createScene", scene ) -- "enterScene" event is dispatched whenever scene transition has finished scene:addEventListener( "enterScene", scene ) -- "exitScene" event is dispatched before next scene's transition begins scene:addEventListener( "exitScene", scene ) -- "destroyScene" event is dispatched before view is unloaded, which can be -- automatically unloaded in low memory situations, or explicitly via a call to -- storyboard.purgeScene() or storyboard.removeScene(). scene:addEventListener( "destroyScene", scene ) --------------------------------------------------------------------------------- return scene
having code based on coordinates is likely to give you problems.