layer - spoolkitamura/nyle-doc-jp GitHub Wiki
layer
レイヤーの作成
スクリーン内にレイヤーを作成し、
ブロックとして渡された描画内容をそのレイヤーに反映させます。
layer(id) do ~ end
引数
名前 | 説明 | 備考 | 省略時のデフォルト値 |
---|---|---|---|
id | レイヤー識別子 | 下記データ型の任意の値 ・シンボル ・文字列 ・数値 | :__ |
-
複数のレイヤーを作成した場合、プログラムの記述順にスクリーンの下から重ね合わされます。 layerの識別子(id)とスクリーン内ので重ね合わせの順序とは関係がありません。
-
layerメソッドによって作成されたレイヤーには描画の軌跡が残されます。軌跡を残したくない場合は、ブロック内で Nyle.clearを実行してください。
使用例
# レイヤーを作成して、そこに直線を描画します。
Nyle.layer do
Nyle.draw_line(40, 40, 200, 200)
end
# スクリーン上に「:L1」という識別子のレイヤーを作成して、
# そこにランダムで黄色い丸を描画します。
Nyle.layer(:L1) do
Nyle.draw_circle(40 + rand(160), 40 + rand(160), 5, {fill: true, color: :YELLOW})
end
# スクリーン上に「:L2」という識別子のレイヤーを作成して、
# そこにランダムで緑色の丸を描画します。(レイヤーは毎回クリア)
Nyle.layer(:L2) do
Nyle.clear
Nyle.draw_circle(40 + rand(160), 40 + rand(160), 20, {fill: true, color: :GREEN})
end
- 使用例として、サンプル(random_walk_trace_layer.rb)もご参照ください。