API раскадровки в Corona

Я пытаюсь использовать StoryBoard API в Corona. Однако мое событие касания кнопки вообще не работает. Можете ли вы посмотреть на мой код и помочь мне?

main.lua:

     local storyboard = require "storyboard"

     storyboard.gotoScene( "scene1", "fade", 500 )

Сцена 1:

     local storyboard = require( "storyboard" )
     local scene = storyboard.newScene()


     local image

     -- Touch event listener for background image
      local function onSceneTouch( self, event )
  if event.phase == "began" then

    storyboard.gotoScene( "scene2", "fade", 400  )

    return true
        end
      end


     -- Called when the scene's view does not exist:
    function scene:createScene( event )
local screenGroup = self.view

image = display.newImage( "bird.png" )
screenGroup:insert( image )

image.touch = onSceneTouch


print( "\n1: createScene event")
   end

   function scene:enterScene( event )

print( "1: enterScene event" )

  end

    function scene:exitScene( event )

    print( "1: exitScene event" )

   -- remove touch listener for image
image:removeEventListener( "touch", image )

  end


   -- Called prior to the removal of scene's "view" (display group)
   function scene:destroyScene( event )

print( "((destroying scene 1's view))" )
  end


   scene:addEventListener( "createScene", scene )

   scene:addEventListener( "enterScene", scene )

   scene:addEventListener( "exitScene", scene )

   scene:addEventListener( "destroyScene", scene )


   return scene

И моя вторая сцена такая же. Однако, когда я касаюсь изображения, оно не переходит ко второй сцене.


person Figen Güngör    schedule 28.06.2012    source источник


Ответы (2)


Не забудьте добавить прослушиватель событий к вашему изображению.

person royi    schedule 28.06.2012
comment
Спасибо, Ройи. Я просто не знал этого второго формата прослушивателя событий. Я должен был добавить это в код: image:addEventListener( touch, image ) - person Figen Güngör; 28.06.2012

local function onSceneTouch( self, event )
  if event.phase == "began" then
    storyboard.gotoScene( "scene2", "fade", 400  )
    return true
  end
end

измените «return true» на «return false» в функции onSceneTouch, прежде чем назначать какое-либо событие изображению и т. д.

person selvam    schedule 16.10.2012