递归绘制



有关说明,请参见上文

但是,我的代码以不正确的颜色向数组添加圆圈:

我有一个 Color baseColor,其中包含一个变量 int baseGreen。在每次递归调用期间,此 int 都会减少,目的是更改每组 3 个圆圈的绿色类型。

如果有人能够冒险猜测为什么会发生这种情况,我将不胜感激。谢谢。

跟踪基色是不必要的,因为您要将其传递到方法中。

这是一种使颜色逐渐变深的简单方法

public void createCircles(int x, int y, int rad, Color parentColor){
    Circle myCircle = new Circle(x, y, rad, parentColor);
    ...
    if(!(rad<1)){
        ...
        Color myColor = parentColor.darker();
        createCircles(x - (2*rad), y, rad/3, myColor);
        createCircles(x, y, rad/3, myColor);
        createCircles(x + (2*rad), y, rad/3, myColor);
    }
}

相关内容

  • 没有找到相关文章

最新更新