Storyboard Effects And Orientation Change

Hi, I notice a bit of an unusual behavior of Storyboard:
I have an iPad app that works in both landscape and portrait view. All is properly configured in config.lua…
If I start app in portrait view, and then rotate to landscape, when I use slideLeft and slideRight effect, the old scene doesn’t slide away from screen completely - rather than moving full width of 1024px, it only moves 768px to the left or right.
Seems like the storyboard stores screen width and height only once when app is initialized and doesn’t update these values after the orientation takes place. Anything we (or you) can do about this ?
Thanks :slight_smile:
N
[import]uid: 80100 topic_id: 28473 reply_id: 328473[/import]

I will reply to my own question with something that can probably solve the problem. Maybe it was already brought up before, but I haven’t seen it: we can access all values that storyboard uses in transition effects.
Which is AWESOME.
Below is what I dug out printing out storyboard table recursively.
Check out “effectList”, this is where parameters to all effects are and presumably if we can change these values, we can control how storyboard effects work.

EDIT: This actually does solve the problem, for example, put this in your orientation event handler:
[lua] local scw, sch = display.contentWidth, display.contentHeight
storyboard.effectList.slideRight.to.xStart = -scw
storyboard.effectList.slideRight.from.xEnd = scw
storyboard.effectList.slideLeft.to.xStart = scw
storyboard.effectList.slideLeft.from.xEnd = -scw[/lua]

And now for entire storyboard table in its entire glory:
[lua]- - - - - - - - - - - - - - - - - - - Table:STORYBOARD
. hideOverlay : function: 0x1cbdbc0
. reloadScene : function: 0x1cbd7a0
. isDebug : false
. removeScene : function: 0x1cbd760
. disableAutoPurge : false
. purgeAll : function: 0x1cbd9d0
. printMemUsage : function: 0x1cbd910
. gotoScene : function: 0x1cbd820
. removeAll : function: 0x1cbd780
. getPrevious : function: 0x1cbd9f0
. getScene : function: 0x1cbda30
. loadScene : function: 0x1cbd7f0
. newScene : function: 0x1cbdb40
. showOverlay : function: 0x1cbdca0
. getCurrentSceneName : function: 0x1cbda50
. loadedSceneMods :
. purgeOnSceneChange : true
. effectList :
. . zoomOutInFade :
. . . hideOnOut : true
. . . to :
. . . . yEnd : 0
. . . . xEnd : 0
. . . . alphaEnd : 1
. . . . yScaleStart : 0.001
. . . . xScaleStart : 0.001
. . . . xStart : 512
. . . . yScaleEnd : 1
. . . . xScaleEnd : 1
. . . . alphaStart : 0
. . . . yStart : 384
. . . from :
. . . . yEnd : 384
. . . . xEnd : 512
. . . . yScaleEnd : 0.001
. . . . xScaleEnd : 0.001
. . . . alphaEnd : 0
. . . . alphaStart : 1
. . zoomInOut :
. . . hideOnOut : true
. . . to :
. . . . yScaleStart : 2
. . . . xScaleStart : 2
. . . . xStart : -512
. . . . xEnd : 0
. . . . yScaleEnd : 1
. . . . xScaleEnd : 1
. . . . yEnd : 0
. . . . yStart : -384
. . . from :
. . . . yScaleEnd : 2
. . . . xScaleEnd : 2
. . . . yEnd : -384
. . . . xEnd : -512
. . flip :
. . . to :
. . . . xScaleEnd : 1
. . . . xScaleStart : 0.001
. . . . xStart : 512
. . . . xEnd : 0
. . . from :
. . . . xScaleEnd : 0.001
. . . . xEnd : 512
. . slideRight :
. . . concurrent : true
. . . to :
. . . . yStart : 0
. . . . xStart : -1024
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . . from :
. . . . yStart : 0
. . . . xStart : 0
. . . . xEnd : 1024
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . fade :
. . . to :
. . . . alphaEnd : 1
. . . . alphaStart : 0
. . . from :
. . . . alphaEnd : 0
. . . . alphaStart : 1
. . zoomOutIn :
. . . hideOnOut : true
. . . to :
. . . . yScaleStart : 0.001
. . . . xScaleStart : 0.001
. . . . xStart : 512
. . . . xEnd : 0
. . . . yScaleEnd : 1
. . . . xScaleEnd : 1
. . . . yEnd : 0
. . . . yStart : 384
. . . from :
. . . . yScaleEnd : 0.001
. . . . xScaleEnd : 0.001
. . . . yEnd : 384
. . . . xEnd : 512
. . crossFade :
. . . concurrent : true
. . . to :
. . . . alphaEnd : 1
. . . . alphaStart : 0
. . . from :
. . . . alphaEnd : 0
. . . . alphaStart : 1
. . zoomOutInRotate :
. . . hideOnOut : true
. . . to :
. . . . yEnd : 0
. . . . xEnd : 0
. . . . rotationStart : -360
. . . . yScaleStart : 0.001
. . . . xScaleStart : 0.001
. . . . xStart : 512
. . . . yScaleEnd : 1
. . . . xScaleEnd : 1
. . . . rotationEnd : 0
. . . . yStart : 384
. . . from :
. . . . yEnd : 384
. . . . xEnd : 512
. . . . yScaleEnd : 0.001
. . . . xScaleEnd : 0.001
. . . . rotationEnd : -360
. . . . rotationStart : 0
. . fromRight :
. . . sceneAbove : true
. . . concurrent : true
. . . to :
. . . . yStart : 0
. . . . xStart : 1024
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . . from :
. . . . yStart : 0
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . flipFadeOutIn :
. . . to :
. . . . xScaleStart : 0.001
. . . . xStart : 512
. . . . xEnd : 0
. . . . xScaleEnd : 1
. . . . alphaEnd : 1
. . . . alphaStart : 0
. . . from :
. . . . alphaEnd : 0
. . . . xScaleEnd : 0.001
. . . . alphaStart : 1
. . . . xEnd : 512
. . fromTop :
. . . sceneAbove : true
. . . concurrent : true
. . . to :
. . . . yStart : -768
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . . from :
. . . . yStart : 0
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . slideUp :
. . . concurrent : true
. . . to :
. . . . yStart : 768
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . . from :
. . . . yStart : 0
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : -768
. . zoomInOutFadeRotate :
. . . hideOnOut : true
. . . to :
. . . . yEnd : 0
. . . . xEnd : 0
. . . . rotationStart : -360
. . . . alphaEnd : 1
. . . . yScaleStart : 2
. . . . xScaleStart : 2
. . . . xStart : 512
. . . . alphaStart : 0
. . . . yScaleEnd : 1
. . . . xScaleEnd : 1
. . . . rotationEnd : 0
. . . . yStart : 384
. . . from :
. . . . alphaEnd : 0
. . . . alphaStart : 1
. . . . yEnd : 384
. . . . xEnd : 512
. . . . yScaleEnd : 2
. . . . xScaleEnd : 2
. . . . rotationEnd : -360
. . . . rotationStart : 0
. . slideDown :
. . . concurrent : true
. . . to :
. . . . yStart : -768
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . . from :
. . . . yStart : 0
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 768
. . fromBottom :
. . . sceneAbove : true
. . . concurrent : true
. . . to :
. . . . yStart : 768
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . . from :
. . . . yStart : 0
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . slideLeft :
. . . concurrent : true
. . . to :
. . . . yStart : 0
. . . . xStart : 1024
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . . from :
. . . . yStart : 0
. . . . xStart : 0
. . . . xEnd : -1024
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . zoomInOutRotate :
. . . hideOnOut : true
. . . to :
. . . . yEnd : 0
. . . . xEnd : 0
. . . . rotationStart : -360
. . . . yScaleStart : 2
. . . . xScaleStart : 2
. . . . xStart : 512
. . . . yScaleEnd : 1
. . . . xScaleEnd : 1
. . . . rotationEnd : 0
. . . . yStart : 384
. . . from :
. . . . yEnd : 384
. . . . xEnd : 512
. . . . yScaleEnd : 2
. . . . xScaleEnd : 2
. . . . rotationEnd : -360
. . . . rotationStart : 0
. . fromLeft :
. . . sceneAbove : true
. . . concurrent : true
. . . to :
. . . . yStart : 0
. . . . xStart : -1024
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . . from :
. . . . yStart : 0
. . . . xStart : 0
. . . . xEnd : 0
. . . . transition : function: 0x7d746e0
. . . . yEnd : 0
. . zoomOutInFadeRotate :
. . . hideOnOut : true
. . . to :
. . . . yEnd : 0
. . . . xEnd : 0
. . . . rotationStart : -360
. . . . alphaEnd : 1
. . . . yScaleStart : 0.001
. . . . xScaleStart : 0.001
. . . . xStart : 512
. . . . alphaStart : 0
. . . . yScaleEnd : 1
. . . . xScaleEnd : 1
. . . . rotationEnd : 0
. . . . yStart : 384
. . . from :
. . . . alphaEnd : 0
. . . . alphaStart : 1
. . . . yEnd : 384
. . . . xEnd : 512
. . . . yScaleEnd : 0.001
. . . . xScaleEnd : 0.001
. . . . rotationEnd : -360
. . . . rotationStart : 0
. . zoomInOutFade :
. . . hideOnOut : true
. . . to :
. . . . yEnd : 0
. . . . xEnd : 0
. . . . alphaEnd : 1
. . . . yScaleStart : 2
. . . . xScaleStart : 2
. . . . xStart : -512
. . . . yScaleEnd : 1
. . . . xScaleEnd : 1
. . . . alphaStart : 0
. . . . yStart : -384
. . . from :
. . . . yEnd : -384
. . . . xEnd : -512
. . . . yScaleEnd : 2
. . . . xScaleEnd : 2
. . . . alphaEnd : 0
. . . . alphaStart : 1
. scenes :
. stage :
. . _class :
. . . removeEventListener : function: 0x7d63cb0
. . . initProxy : function: 0x7d73dd0
. . . addEventListener : function: 0x7d63cd0
. . _proxy : userdata: 0x1cb9984
. purgeScene : function: 0x1cbd960[/lua] [import]uid: 80100 topic_id: 28473 reply_id: 115112[/import]

thank you! very helpful and it still works even if this thread is a year old :wink:

Is this documented anywhere? Because I was looking for this info and didn’t find it.

I had the problem in an universal app with width = 768, height =1024 (iPad) …

and storyboard.hideOverlay( “slideLeft”, n ) took the iPad dimensions instead of the tall iPhone dimensions and so the overlay did not scroll out of the screen completely (which was very very ugly!!!)

With your help I was able to reconfigure the storyboard xStart/xEnd variables to the actual screen dimensions.

thank you! very helpful and it still works even if this thread is a year old :wink:

Is this documented anywhere? Because I was looking for this info and didn’t find it.

I had the problem in an universal app with width = 768, height =1024 (iPad) …

and storyboard.hideOverlay( “slideLeft”, n ) took the iPad dimensions instead of the tall iPhone dimensions and so the overlay did not scroll out of the screen completely (which was very very ugly!!!)

With your help I was able to reconfigure the storyboard xStart/xEnd variables to the actual screen dimensions.