Переходы обычно выполняются в методе Update вашего объекта.
Например, если у вас есть объект ScoreDisplay с именем scoredisp, когда вы вызываете метод, скажем, GetBigger()
, каждый последующий вызов scoredisp.Update(gameTime)
должен увеличивать переменную масштаба объекта, и тогда он должен быть рисуется в зависимости от переменной масштаба. Вы можете использовать переменную bool, чтобы определить, применяется ли переход к объекту
Ex:
public void Update(GameTime gameTime)
{
If(isGrowthActivated)
{
scale += 1.50f * gameTime.ElapsedGameTime.TotalSeconds;
}
//Any other scoreDisplay update code...
}
public void GetBigger()
{
isGrowthActivated = true;
}
Не забудьте вызвать scoredisp.Update(gameTime);
в методе обновления вашей игры.
Количество переходов, которые вы можете создать, безгранично, но все они примерно одинаковы.
(у вас всегда должны быть переходы в зависимости от elapsedGameTime кадра, поэтому он работает одинаково на разных fps)
Надеюсь, это поможет!