3-значный цветовой код Java

1

Я начал изучать java-игры, и я делаю это, наблюдая, как код Notch объясняется парнем на YouTube, поэтому мне нужна помощь в этом видео:

https://www.youtube.com/watch?v=7eotyB7oNHE&list=PL8CAB66181A502179&index=5

Он реализовал цвета в своей игре, и я тоже, но я не понимаю, как они работают. Он сделал функцию get в классе цветов, и она называется так:

Colours.get(colour1, colour2, colour3, colour4);

Он использует спрайт для этого, он заменит черный цвет "colour1", темно-серый цвет с "colour2", светло-серый с "colour3" и белый с "colour4". Проблема в том, что я не понимаю следующее: как я могу получить трехзначные цвета без использования букв?

Благодарю!

Теги:
colors
youtube

1 ответ

1
Лучший ответ

Он использует int представление цветов.
Каждый цвет представлен четырьмя значениями по 8 бит:

  • Красное значение
  • Зеленое значение
  • Синее значение
  • Альфа-значение

Представление int объединяет эти 8-битные значения в один 32-разрядный номер int чтобы альфа-значение получало наивысшие биты, затем красное значение, затем зеленое и, наконец, синее значение получили младшие бит. Поэтому, используя битовые операции, вы можете создать значение int из значений цветовых компонентов следующим образом:

public static int getColorIntRepresentationOutOfColorComponentByteValues(byte alpha, byte red, byte green, byte blue) {
    return ((int)alpha << 24) | ((int)red << 16) | ((int)green << 8) | (int)blue;
}
  • 0
    Спасибо! Искал этот ответ по всей сети :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню