replace a hack with a lesser one
This commit is contained in:
@@ -149,7 +149,7 @@ void MenuElements::TweenOnScreenFromMenu( ScreenMessage smSendWhenDone, bool bLe
|
|||||||
m_soundSwoosh.Play();
|
m_soundSwoosh.Play();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MenuElements::TweenTopLayerOffScreen()
|
void MenuElements::TweenTopLayerOffScreen(float tm)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
This trick is neat, but there's a problem: fOriginalX may not be the settled
|
This trick is neat, but there's a problem: fOriginalX may not be the settled
|
||||||
@@ -171,20 +171,23 @@ void MenuElements::TweenTopLayerOffScreen()
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if(tm == -1)
|
||||||
|
tm = MENU_ELEMENTS_TWEEN_TIME;
|
||||||
|
|
||||||
m_sprTopEdge.StopTweening();
|
m_sprTopEdge.StopTweening();
|
||||||
m_sprTopEdge.BeginTweening( MENU_ELEMENTS_TWEEN_TIME, TWEEN_BOUNCE_BEGIN );
|
m_sprTopEdge.BeginTweening( tm, TWEEN_BOUNCE_BEGIN );
|
||||||
m_sprTopEdge.SetTweenX( TOP_EDGE_X+SCREEN_WIDTH );
|
m_sprTopEdge.SetTweenX( TOP_EDGE_X+SCREEN_WIDTH );
|
||||||
|
|
||||||
m_sprStyleIcon.StopTweening();
|
m_sprStyleIcon.StopTweening();
|
||||||
m_sprStyleIcon.BeginTweening( MENU_ELEMENTS_TWEEN_TIME, TWEEN_BOUNCE_BEGIN );
|
m_sprStyleIcon.BeginTweening( tm, TWEEN_BOUNCE_BEGIN );
|
||||||
m_sprStyleIcon.SetTweenX( STYLE_ICON_X+SCREEN_WIDTH );
|
m_sprStyleIcon.SetTweenX( STYLE_ICON_X+SCREEN_WIDTH );
|
||||||
|
|
||||||
m_MenuTimer.StopTweening();
|
m_MenuTimer.StopTweening();
|
||||||
m_MenuTimer.BeginTweening( MENU_ELEMENTS_TWEEN_TIME, TWEEN_BOUNCE_BEGIN );
|
m_MenuTimer.BeginTweening( tm, TWEEN_BOUNCE_BEGIN );
|
||||||
m_MenuTimer.SetTweenX( TIMER_X+SCREEN_WIDTH );
|
m_MenuTimer.SetTweenX( TIMER_X+SCREEN_WIDTH );
|
||||||
|
|
||||||
m_textHelp.StopTweening();
|
m_textHelp.StopTweening();
|
||||||
m_textHelp.BeginTweening( MENU_ELEMENTS_TWEEN_TIME/2 );
|
m_textHelp.BeginTweening( tm/2 );
|
||||||
m_textHelp.SetTweenZoomY( 0 );
|
m_textHelp.SetTweenZoomY( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -204,20 +207,13 @@ void MenuElements::ImmedOffScreenToMenu()
|
|||||||
m_MenuTimer.StopTimer();
|
m_MenuTimer.StopTimer();
|
||||||
m_KeepAlive.SetClosed();
|
m_KeepAlive.SetClosed();
|
||||||
|
|
||||||
/* XXX: This is an ugly paste from TweenTopLayerOffScreen.
|
/* Remove the top layer immediately. */
|
||||||
* We need some way to use the same code for tweening and
|
TweenTopLayerOffScreen(0);
|
||||||
* immediates ... */
|
|
||||||
m_sprTopEdge.StopTweening();
|
|
||||||
m_sprTopEdge.SetX( TOP_EDGE_X+SCREEN_WIDTH );
|
|
||||||
|
|
||||||
m_sprStyleIcon.StopTweening();
|
/* We need to do a null update after doing null tweens (tweens with zero time),
|
||||||
m_sprStyleIcon.SetX( STYLE_ICON_X+SCREEN_WIDTH );
|
* or they'll show up in their default positions for a frame (since screens
|
||||||
|
* draw once before they're updated for the first time). */
|
||||||
m_MenuTimer.StopTweening();
|
Update(0);
|
||||||
m_MenuTimer.SetX( TIMER_X+SCREEN_WIDTH );
|
|
||||||
|
|
||||||
m_textHelp.StopTweening();
|
|
||||||
m_textHelp.SetZoomY( 0 );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MenuElements::TweenBottomLayerOnScreen()
|
void MenuElements::TweenBottomLayerOnScreen()
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void TweenTopLayerOnScreen();
|
void TweenTopLayerOnScreen();
|
||||||
void TweenTopLayerOffScreen();
|
void TweenTopLayerOffScreen(float tm=-1);
|
||||||
|
|
||||||
void TweenBottomLayerOnScreen();
|
void TweenBottomLayerOnScreen();
|
||||||
void TweenBottomLayerOffScreen();
|
void TweenBottomLayerOffScreen();
|
||||||
|
|||||||
Reference in New Issue
Block a user