Facebook にシェア
[`evernote` not found]
LINEで送る

Enchant.jsでお絵かきソフトでも作ろうかなと思ったのですが、Surfaceクラスからcontextを介して毎回
Canvasにアクセスするのが面倒になってきたので、よく使いそうなパターンをクラス化しました。

Surface拡張プラグインPaint.js【ダウンロード】(名前をつけて保存でダウンロードしてください)

使い方。
enchant.jsを読み込んだ後に等でこのプラグインも読み込んでください。そしてSurfaceクラスの替わりに

var canvas = new Paint(320,320);

と書けばSurfaceをラップしたPaintクラスが使えます。

*しょぼい機能
色を指定する。
paint.color(strokeStyle,fillStyle);
線の色と塗りつぶしの色を指定します。片方だけを指定する場合は片方をnullにしてください。

円を書く
paint.circle(x,y,radius,fill);
(x,y)の座標を中心に半径radiusの円を描きます。fillがTrueの場合は塗りつぶします。

扇形を書く
paint.circularsector(x,y,radius,Sang,Eang,fill)
(x,y)の座標を中心に半径radiusの、Sang(度)からEang(度)までの扇形を描きます。
ラジアンではなく度計算なので間違えないでください。fillで塗りつぶします。
円グラフにでも使える?

塗りつぶし
paint.seedfill(x,y,color)
(x,y)の座標から囲まれている範囲をcolorで指定した色(配列指定Array(R,G,B)またはArray(R,G,B,A))で塗りつぶします。
シードフィルアルゴリズムを利用して塗りつぶしていますが、プログラムが甘いのか、あまり早くはないです。