Как я могу визуализировать текст с непрозрачностью 50% с помощью drawStringWithShadow() в Minecraft 1.7.10?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу визуализировать текст с непрозрачностью 50% с помощью drawStringWithShadow() в Minecraft 1.7.10?

Сообщение Anonymous »

Я разрабатываю дополнительный мод, который вводит некоторые специальные мечи, отслеживающие серию убийств. Я хочу нарисовать на экране текст, который исчезнет через несколько секунд. Я могу заставить текст исчезнуть через несколько секунд, но не плавно. Сейчас я проверяю непрозрачность, чтобы выяснить это, прежде чем повторно реализовывать таймер.
Я экспериментировал с рендерингом текста на разных альфа-каналах и заметил кое-что странное в методе drawStringWithShadow( в Minecraft). ) функция: она неправильно обрабатывает альфы. Я визуализирую текст по адресу 0x80FFFFFF, что должно сделать его белым при непрозрачности 50%, верно? Но по какой-то причине только несколько пикселей в отображаемой строке затемняются.
Вот снимок экрана моей проблемы:
Изображение HUD Killstreak с проблемой непрозрачности
Крупный план предыдущего изображения
Может кто-нибудь помочь мне понять, как визуализировать этот текст с непрозрачностью 50 %? Это мой код:

Код: Выделить всё

private static void renderStreakNum(Minecraft mc, int screenWidth, int screenHeight) {
String streakText = "" + streakNum;
int textWidth = mc.fontRenderer.getStringWidth(streakText);
int textX = (screenWidth - textWidth + 400) / 2;
int textY = (screenHeight - 80) / 2;

GL11.glPushMatrix();
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glScalef(fscale, fscale, fscale);
mc.fontRenderer.drawStringWithShadow(streakText, textX / fscale, textY / fscale, 0x80FFFFFF);
GL11.glDisable(GL11.GL_BLEND);
GL11.glPopMatrix();
}
Я попробовал ввести 0x80FFFFFF в качестве аргумента цвета drawStringWithShadow() и drawString(). Ни то, ни другое не сработало. Я также попытался настроить аргументы GL11.Color4(), чтобы они отображались с непрозрачностью 50%. Это тоже не сработало.

Подробнее здесь: https://stackoverflow.com/questions/790 ... inecraft-1
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»