有关说明,请参见上文
但是,我的代码以不正确的颜色向数组添加圆圈:
我有一个 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);
}
}