Активный
- Тема Автор
- #1
TextDraw создает интерфейс. Разберем продвинутые техники.
Анимированные TextDraw
Прогресс-бары
Важные моменты:
- Анимируйте TextDraw эффективно
- Обновляйте только при изменениях
- Используйте правильные размеры
- Оптимизируйте количество TextDraw
Продвинутые TextDraw создают красивый интерфейс!
Анимированные TextDraw
Код:
new Text:animatedText;
new Float:animationProgress = 0.0;
public OnGameModeInit()
{
animatedText = TextDrawCreate(320.0, 240.0, "Анимация");
TextDrawFont(animatedText, 1);
TextDrawLetterSize(animatedText, 0.5, 2.0);
TextDrawColor(animatedText, 0xFFFFFFFF);
TextDrawShowForAll(animatedText);
SetTimer("AnimateTextDraw", 100, true);
return 1;
}
forward AnimateTextDraw();
public AnimateTextDraw()
{
animationProgress += 0.1;
if(animationProgress >= 1.0)
{
animationProgress = 0.0;
}
// Изменение цвета
new color = 0xFF0000FF + floatround(animationProgress * 0x00FF00FF);
TextDrawColor(animatedText, color);
TextDrawShowForAll(animatedText);
}
Прогресс-бары
Код:
new Text:progressBar;
new Float:progressValue = 0.0;
CreateProgressBar()
{
progressBar = TextDrawCreate(100.0, 100.0, "LD_SPAC:white");
TextDrawTextSize(progressBar, 200.0, 10.0);
TextDrawAlignment(progressBar, 1);
TextDrawColor(progressBar, 0x00FF00FF);
TextDrawUseBox(progressBar, 1);
TextDrawBoxColor(progressBar, 0x000000FF);
TextDrawFont(progressBar, 4);
TextDrawShowForAll(progressBar);
}
UpdateProgressBar(Float:value)
{
progressValue = value;
if(progressValue > 1.0) progressValue = 1.0;
if(progressValue < 0.0) progressValue = 0.0;
new Float:width = 200.0 * progressValue;
TextDrawTextSize(progressBar, width, 10.0);
TextDrawShowForAll(progressBar);
}
Важные моменты:
- Анимируйте TextDraw эффективно
- Обновляйте только при изменениях
- Используйте правильные размеры
- Оптимизируйте количество TextDraw
Продвинутые TextDraw создают красивый интерфейс!