replace a hack with a lesser one

This commit is contained in:
Glenn Maynard
2002-12-19 22:09:44 +00:00
parent 0a9c306cf8
commit 0e104c3e45
2 changed files with 15 additions and 19 deletions
+14 -18
View File
@@ -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()
+1 -1
View File
@@ -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();