【18:スクラッチくじ】Canvasをレイヤーの様に使う
プロジェクトNo.18:スクラッチくじ
Canvasを2枚重ねて、前面のcanvasをマウスダウンとマウスムーブで消すといったものを作りました。
Canvasをレイヤーの様に使うために
まずHTMLで2つのcanvasエレメントを用意します。
HTML
<canvas id="parent" width="400" height="300"></canvas> <canvas id="child" width="400" height="300"></canvas>
CSS
canvas{ position: absolute; } ||< あとは、JavaScriptの方でそれぞれのcanvasエレメントに対してオブジェクト生成し、 それぞれに処理を行っていきます。 ***JavaScript >|javascript| $(function(){ var canvas = document.getElementById('parent'); var canvas2 = document.getElementById('child'); if(!canvas || !canvas.getContext) return false; if(!canvas2 || !canvas2.getContext) return false; var ctx = canvas.getContext('2d'); var ctx2 = canvas2.getContext('2d’); // 省略 }
今回は背面レイヤにおみくじの文字をランダムで描画して、
前面レイヤにcanvasと同じサイズでグレーの四角形を描画しました。
あとは、jQueryのmouseイベントとclearRectで前面レイヤだけを切り取り(削る)できる様になっています。