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