Я начал изучать 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". Проблема в том, что я не понимаю следующее: как я могу получить трехзначные цвета без использования букв?
Благодарю!
Он использует 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;
}