2017-05-11 9 views
3

私はJavascriptに再帰的なフラクタルツリープログラムを作成しています。それが動作する方法は、以下のように記述することができます。関数の多くのループで色を変更する

タートルが線を描くとします。その行の終わりから左に回転し、線を描き、次に右に回転して2行目を描画します。これは、描画された2つの新しい行に対して繰り返され、多くのブランチを持つ美しいフラクタルツリーが存在するまで繰り返されます。

しかし、私は木が茶色になり、新しいブランチごとに緑色に変わりたい、like this one here。私はすべての右側の枝を赤色にするか、左側の枝を黄色にすることもできますが、作成する各枝の色は、茶色で緑色で、前よりも緑色にしたいと思います。新しいブランチの長さはlength - yに等しく、毎回小さなブランチを作るので、これは長さのような整数変数でこれを達成することができました。

どのように私は色でこれを行うことができますか?ストローク(茶色 - 少し茶色)をすることはできないのです。元に戻すためにとにかく

、私は、各ブランチがはるかにあなたがlength = length - yと最後以外の各支店を小さくすることができる方法のように、あまり茶色と最後のより多くの緑に生成するためにJavascriptをで道をしたいと思います。

答えて

0

CSSでは、RGB形式(赤、緑、青)のカラーを表現できます。例:CSSの#ffffffで最も一般的にコード化されている白の色は、rgb(255,255,255)としてコーディングすることができます。

RGBでは、緑色を表す第2引数の値が高いほど、生成される色が緑色になります。

茶色から始めて、緑色とぼんやりとしたものを追加してください!

https://jsfiddle.net/r9gajrdd/5/

let red = 118; 
let green = 89; 
let blue = 3; 
let rgb; 

for (let i = 10; i--;) { 
    green = Math.min(green + 10, 253); 
    rgb = `rgb(${red}, ${green}, ${blue})`; 
} 
+0

ありがとうございます。簡単な答えは、私が探していたものです。 –

関連する問題