Enchant.js。Surface(Canvas)拡張プラグイン
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))で塗りつぶします。
シードフィルアルゴリズムを利用して塗りつぶしていますが、プログラムが甘いのか、あまり早くはないです。