Make the character icons tween on and off properly.
This commit is contained in:
@@ -2418,16 +2418,22 @@ AttackFrameP1OnCommand=x,140;y,380;addx,-400;bounceend,0.5;addx,400
|
|||||||
AttackFrameP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
AttackFrameP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
||||||
AttackFrameP2OnCommand=x,500;y,380;addx,400;bounceend,0.5;addx,-400
|
AttackFrameP2OnCommand=x,500;y,380;addx,400;bounceend,0.5;addx,-400
|
||||||
AttackFrameP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
AttackFrameP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
||||||
IconWidth=40
|
AttackIconWidth=40
|
||||||
IconHeight=40
|
AttackIconHeight=40
|
||||||
IconsP1StartX=128
|
AttackIconsP1StartX=128
|
||||||
IconsP1StartY=356
|
AttackIconsP1StartY=356
|
||||||
IconsP2StartX=488
|
AttackIconsP2StartX=488
|
||||||
IconsP2StartY=356
|
AttackIconsP2StartY=356
|
||||||
IconsSpacingX=42
|
AttackIconsSpacingX=42
|
||||||
IconsSpacingY=32
|
AttackIconsSpacingY=32
|
||||||
# DO NOT set absolute X or Y coords in these tweens. they are set based on
|
# DO NOT set absolute X or Y coords in these tweens. they are set based on
|
||||||
# the above 6 metrics. you can use addx and addy still.
|
# the above 6 metrics. you can use addx and addy still.
|
||||||
|
AttackIconsP1OnCommand=addx,-400;bounceend,0.5;addx,400
|
||||||
|
AttackIconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
||||||
|
AttackIconsP2OnCommand=addx,400;bounceend,0.5;addx,-400
|
||||||
|
AttackIconsP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
||||||
|
IconWidth=40
|
||||||
|
IconHeight=40
|
||||||
IconsP1OnCommand=addx,-400;bounceend,0.5;addx,400
|
IconsP1OnCommand=addx,-400;bounceend,0.5;addx,400
|
||||||
IconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
IconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
||||||
IconsP2OnCommand=addx,400;bounceend,0.5;addx,-400
|
IconsP2OnCommand=addx,400;bounceend,0.5;addx,-400
|
||||||
|
|||||||
@@ -34,19 +34,23 @@
|
|||||||
#define EXPLANATION_OFF_COMMAND THEME->GetMetric ("ScreenSelectCharacter","ExplanationOffCommand")
|
#define EXPLANATION_OFF_COMMAND THEME->GetMetric ("ScreenSelectCharacter","ExplanationOffCommand")
|
||||||
#define ATTACK_FRAME_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackFrameP%dOnCommand",p+1))
|
#define ATTACK_FRAME_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackFrameP%dOnCommand",p+1))
|
||||||
#define ATTACK_FRAME_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackFrameP%dOffCommand",p+1))
|
#define ATTACK_FRAME_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackFrameP%dOffCommand",p+1))
|
||||||
#define ICON_WIDTH THEME->GetMetricF("ScreenSelectCharacter","IconWidth")
|
#define ATTACK_ICON_WIDTH THEME->GetMetricF("ScreenSelectCharacter","AttackIconWidth")
|
||||||
#define ICON_HEIGHT THEME->GetMetricF("ScreenSelectCharacter","IconHeight")
|
#define ATTACK_ICON_HEIGHT THEME->GetMetricF("ScreenSelectCharacter","AttackIconHeight")
|
||||||
#define ICONS_START_X( p ) THEME->GetMetricF("ScreenSelectCharacter",ssprintf("IconsP%dStartX",p+1))
|
#define ATTACK_ICONS_START_X( p ) THEME->GetMetricF("ScreenSelectCharacter",ssprintf("AttackIconsP%dStartX",p+1))
|
||||||
#define ICONS_START_Y( p ) THEME->GetMetricF("ScreenSelectCharacter",ssprintf("IconsP%dStartY",p+1))
|
#define ATTACK_ICONS_START_Y( p ) THEME->GetMetricF("ScreenSelectCharacter",ssprintf("AttackIconsP%dStartY",p+1))
|
||||||
#define ICONS_SPACING_X THEME->GetMetricF("ScreenSelectCharacter","IconsSpacingX")
|
#define ATTACK_ICONS_SPACING_X THEME->GetMetricF("ScreenSelectCharacter","AttackIconsSpacingX")
|
||||||
#define ICONS_SPACING_Y THEME->GetMetricF("ScreenSelectCharacter","IconsSpacingY")
|
#define ATTACK_ICONS_SPACING_Y THEME->GetMetricF("ScreenSelectCharacter","AttackIconsSpacingY")
|
||||||
#define ICONS_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("IconsP%dOnCommand",p+1))
|
#define ATTACK_ICONS_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackIconsP%dOnCommand",p+1))
|
||||||
#define ICONS_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("IconsP%dOffCommand",p+1))
|
#define ATTACK_ICONS_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackIconsP%dOffCommand",p+1))
|
||||||
#define HELP_TEXT THEME->GetMetric ("ScreenSelectCharacter","HelpText")
|
#define HELP_TEXT THEME->GetMetric ("ScreenSelectCharacter","HelpText")
|
||||||
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectCharacter","TimerSeconds")
|
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectCharacter","TimerSeconds")
|
||||||
#define SLEEP_AFTER_TWEEN_OFF_SECONDS THEME->GetMetricF("ScreenSelectCharacter","SleepAfterTweenOffSeconds")
|
#define SLEEP_AFTER_TWEEN_OFF_SECONDS THEME->GetMetricF("ScreenSelectCharacter","SleepAfterTweenOffSeconds")
|
||||||
#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectCharacter","PrevScreen"+Capitalize(PlayModeToString(play_mode)))
|
#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectCharacter","PrevScreen"+Capitalize(PlayModeToString(play_mode)))
|
||||||
#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectCharacter","NextScreen"+Capitalize(PlayModeToString(play_mode)))
|
#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectCharacter","NextScreen"+Capitalize(PlayModeToString(play_mode)))
|
||||||
|
#define ICON_WIDTH THEME->GetMetricF("ScreenSelectCharacter","IconWidth")
|
||||||
|
#define ICON_HEIGHT THEME->GetMetricF("ScreenSelectCharacter","IconHeight")
|
||||||
|
#define ICONS_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("IconsP%dOnCommand",p+1))
|
||||||
|
#define ICONS_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("IconsP%dOffCommand",p+1))
|
||||||
|
|
||||||
#define LEVEL_CURSOR_X( p, l ) ( ICONS_START_X(p)+ICONS_SPACING_X*((NUM_ATTACKS_PER_LEVEL-1)/2.f) )
|
#define LEVEL_CURSOR_X( p, l ) ( ICONS_START_X(p)+ICONS_SPACING_X*((NUM_ATTACKS_PER_LEVEL-1)/2.f) )
|
||||||
#define LEVEL_CURSOR_Y( p, l ) ( ICONS_START_Y(p)+ICONS_SPACING_Y*l )
|
#define LEVEL_CURSOR_Y( p, l ) ( ICONS_START_Y(p)+ICONS_SPACING_Y*l )
|
||||||
@@ -134,10 +138,10 @@ ScreenSelectCharacter::ScreenSelectCharacter() : Screen("ScreenSelectCharacter")
|
|||||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||||
for( int j=0; j<NUM_ATTACKS_PER_LEVEL; j++ )
|
for( int j=0; j<NUM_ATTACKS_PER_LEVEL; j++ )
|
||||||
{
|
{
|
||||||
float fX = ICONS_START_X(p) + ICONS_SPACING_X*j;
|
float fX = ATTACK_ICONS_START_X(p) + ATTACK_ICONS_SPACING_X*j;
|
||||||
float fY = ICONS_START_Y(p) + ICONS_SPACING_Y*i;
|
float fY = ATTACK_ICONS_START_Y(p) + ATTACK_ICONS_SPACING_Y*i;
|
||||||
m_AttackIcons[p][i][j].SetXY( fX, fY );
|
m_AttackIcons[p][i][j].SetXY( fX, fY );
|
||||||
m_AttackIcons[p][i][j].Command( ICONS_ON_COMMAND(p) );
|
m_AttackIcons[p][i][j].Command( ATTACK_ICONS_ON_COMMAND(p) );
|
||||||
this->AddChild( &m_AttackIcons[p][i][j] );
|
this->AddChild( &m_AttackIcons[p][i][j] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -162,6 +166,9 @@ ScreenSelectCharacter::ScreenSelectCharacter() : Screen("ScreenSelectCharacter")
|
|||||||
AfterRowChange( (PlayerNumber)p );
|
AfterRowChange( (PlayerNumber)p );
|
||||||
AfterValueChange( (PlayerNumber)p );
|
AfterValueChange( (PlayerNumber)p );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for( unsigned i=0; i<MAX_CHAR_ICONS_TO_SHOW; i++ )
|
||||||
|
m_sprIcons[p][i].Command( ICONS_ON_COMMAND(p) );
|
||||||
}
|
}
|
||||||
TweenOnScreen();
|
TweenOnScreen();
|
||||||
}
|
}
|
||||||
@@ -386,8 +393,10 @@ void ScreenSelectCharacter::TweenOffScreen()
|
|||||||
m_sprAttackFrame[p].Command( ATTACK_FRAME_OFF_COMMAND(p) );
|
m_sprAttackFrame[p].Command( ATTACK_FRAME_OFF_COMMAND(p) );
|
||||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||||
for( int j=0; j<NUM_ATTACKS_PER_LEVEL; j++ )
|
for( int j=0; j<NUM_ATTACKS_PER_LEVEL; j++ )
|
||||||
m_AttackIcons[p][i][j].Command( ICONS_OFF_COMMAND(p) );
|
m_AttackIcons[p][i][j].Command( ATTACK_ICONS_OFF_COMMAND(p) );
|
||||||
}
|
}
|
||||||
|
for( unsigned i=0; i<MAX_CHAR_ICONS_TO_SHOW; i++ )
|
||||||
|
m_sprIcons[p][i].Command( ICONS_OFF_COMMAND(p) );
|
||||||
}
|
}
|
||||||
m_sprExplanation.Command( EXPLANATION_OFF_COMMAND );
|
m_sprExplanation.Command( EXPLANATION_OFF_COMMAND );
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user