Темнеющие спрайты на расстоянии Ява

Я написал полностью функциональный шутер от первого лица (в стиле 2.5D), хотя я бы хотел, чтобы спрайты затемнены на расстоянии от камеры (функция обратного квадрата).

У меня сложилась математика, но, имея небольшой опыт использования BufferedImages, я не знаю, как снизить значения пикселей (с помощью альфа-канала) или просто окрасить их в черный цвет.

Примечание: я также буферизирую на холст (изображение) с помощью Graphics2D

Все понимание приветствуется.

1 ответ

Решение

Чтобы затемнить изображение с буферизацией, вы можете просто использовать rescaleop. Этот фрагмент затемнит его на 20%.

float factor = .8f; 
RescaleOp op = new RescaleOp(factor, 0, null);
image= op.filter(bufferedImage, null);
Другие вопросы по тегам