我目前正在使用Java2D开发基于图块的游戏,并且我正在考虑添加一些便宜的糖果。

例如,实现用于爆炸和/或烟雾的简单粒子系统(可能类似于this)。

您是否对相对容易编程的效果有任何建议,而这些效果不需要绘制大量(或根本不需要)新艺术?

表示效果的教程和代码示例也将非常受欢迎!

-我做。

PS-如果绝对必要,我可以切换到LWJGL / JOGL甚至Slick之类的东西-但我宁愿使用Java2D。

最佳答案

实现模糊和其他图像过滤效果非常容易执行。

例如,要对 BufferedImage 执行模糊处理,可以将 ConvolveOp Kernel 中指定的卷积矩阵一起使用:

BufferedImageOp op = new ConvolveOp(new Kernel(3, 3,
    new float[] {
        1/9f, 1/9f, 1/9f,
        1/9f, 1/9f, 1/9f,
        1/9f, 1/9f, 1/9f
    }
));

BufferedImage resultImg = op.filter(originalImg, resultImage);

不确定何时需要模糊效果,但可能会在某些时候派上用场。但我想说,由于易于实施,这是一个低落的果实。

以下是有关convolution matrices的信息。它也可以用于实现锐化,浮雕,边缘增强等效果。

10-07 16:14