4

我正在尝试开始使用 playn 1.3(我应该使用 1.4 吗?),但在如何简单地用径向渐变填充某种图层的问题上,我很早就失败了。graphics().createRadialGradient 告诉我它创建了一个图案,但它只是创建了一个我不能在 setFillPattern 上使用的渐变。不推荐使用 createCanvasLayer,因此我正在尝试使用 ImageLayer 和 SurfaceLayer,但我找不到从渐变或类似的东西创建实际图案的方法,最终用我的渐变填充图层。当然,我肯定只是忽略了一些东西,所以我很乐意在这里提供提示,因为 playn 对我来说真的很有希望:)

干杯

4

1 回答 1

1

在 PlayN 1.4 中测试:

CanvasImage canvasImage = graphics().createImage(100, 100);
Canvas canvas = canvasImage.canvas();
Gradient radialGradient = graphics().createRadialGradient(50, 50, 50, 
        new int[]{Color.rgb(255, 0, 0), Color.argb(0, 255, 0, 0)}, 
        new float[]{0, 1});
canvas.setFillGradient(radialGradient);
canvas.fillRect(0, 0, 100, 100);
ImageLayer imageLayer = graphics().createImageLayer();
imageLayer.setImage(canvasImage);
imageLayer.setDepth(1);
graphics().rootLayer().addAt(imageLayer, graphics().width() / 2, graphics().height() / 2);
于 2012-11-08T17:13:13.723 回答