Я работаю над игрой с использованием PlayN, и есть немного, где я хотел бы сделать изображение (которое в настоящее время в формате PNG, уже с 8-битной альфа-версией), и я хотел бы умножить изображение надополнительный альфа-фактор, основанный на значении из моего кода.
В частности, у меня есть изображение лица, которое в данный момент живет в ImageLayer, и эффект, который я хотел бы получить, будет иметь что-то вроде этого:
void init() {
faceImage = assetManager().getImage("images/face.png");
graphics().rootLayer().add(faceImage);
}
void update(float deltaMilliseconds) {
// start at fully transparent, fade to fully opaque
float transparency = calcTransparency(deltaMilliseconds);
faceImage.setTransparency(transparency);
}
Я ожидаю, что есть некоторый способ сделать некоторую хитрость с GroupLayers и режимами наложения, возможно смешивая изображение с CanvasLayer, нарисованным сплошным белым прямоугольником с прозрачностью, контролируемой моим кодом, но это не очевидно для меняесли это лучший способ добиться того, что кажется довольно распространенным эффектом.