Темнеющие спрайты на расстоянии Ява
Я написал полностью функциональный шутер от первого лица (в стиле 2.5D), хотя я бы хотел, чтобы спрайты затемнены на расстоянии от камеры (функция обратного квадрата).
У меня сложилась математика, но, имея небольшой опыт использования BufferedImages, я не знаю, как снизить значения пикселей (с помощью альфа-канала) или просто окрасить их в черный цвет.
Примечание: я также буферизирую на холст (изображение) с помощью Graphics2D
Все понимание приветствуется.
1 ответ
Решение
Чтобы затемнить изображение с буферизацией, вы можете просто использовать rescaleop. Этот фрагмент затемнит его на 20%.
float factor = .8f;
RescaleOp op = new RescaleOp(factor, 0, null);
image= op.filter(bufferedImage, null);