Я хотел бы анимировать значение непрозрачности текстовой строки, содержащей название уровня и с задержкой в середине.
Таким образом, последовательность событий будет выглядеть так:
- Старт прозрачный
- Переход в сплошной белый цвет за секунду игрового времени
- Подождите секунду
- Спад в прозрачный цвет снова через секунду.
Код, который я написал для анимации альфа-значения, не работает.Кроме того, это довольно уродливо, и я уверен, что есть лучший способ сделать это с помощью платформы XNA.
Я не смог найти где-либо еще рекомендаций по этому поводу.Конечно, анимация таких ценностей не редкость.Как я могу это сделать?
Вот мой текущий код в соответствии с просьбой (да, это ужасно).
private int fadeStringDirection = +1;
private int fadeStringDuration = 1000;
private float stringAlpha = 0;
private int stringRef = 0;
private int stringPhase = 1;
...
if (!pause)
{
totalMillisecondsElapsed += gameTime.ElapsedGameTime.Milliseconds;
if (fadestringDirection != 0)
{
stringAlpha = ((float)(totalMillisecondsElapsed - stringRef) / (float)(fadeStringDuration*stringPhase)) * fadeStringDirection;
stringAlpha = MathHelper.Clamp(stringAlpha, 0, 1);
if (topAlpha / 2 + 0.5 == fadeStringDirection)
{
fadeStringDirection = 0;
stringRef = totalMillisecondsElapsed;
stringPhase++;
}
}
else
{
stringRef += gameTime.ElapsedGameTime.Milliseconds;
if (stringRef >= fadeStringDuration * stringPhase)
{
stringPhase++;
fadeStringDirection = -1;
stringRef = totalMillisecondsElapsed;
}
}
}