Рисование фигур с прозрачными цветами намного медленнее, чем непрозрачные цвета в Java - PullRequest
2 голосов
/ 27 февраля 2012

В настоящее время я работаю над созданием видеоигры на Java с несколькими друзьями. Это нисходящая ролевая игра, нарисованная тайлами разных типов. Я просто добавил в игру цикл день / ночь и обнаружил, что использование прозрачных цветов для рисования на экране очень медленное. Недавно я узнал, как сделать цвета прозрачными, добавив альфа-значение после значений RGB, и это работает очень хорошо, но, как я уже сказал, это медленно. Я попытался переключиться между прозрачными и непрозрачными цветами и обнаружил, что задержка из-за прозрачности. По сути, после отрисовки плитки он вызывает метод для получения желаемого коэффициента прозрачности, создает новый цвет и вызывает g.fillRect () над плиткой. Это делается для каждой плитки на экране.

Я хотел бы знать, есть ли другой способ иметь прозрачное наложение, не просто рисуя наложение по всему окну, потому что мы хотим иметь возможность добавлять источники света, которые заменяют прозрачность для определенных плиток. Плитки выводятся на экран из таблицы спрайтов. Любые предложения приветствуются.

...