動けばいいという気持ちで作ったので、とても適当です。
テスト用というかお遊び程度に。
動作確認:iOS7
作り方
まずcanvas
要素が必要なので書き出します。
大きさは、後に座標を扱う際body
のmargin
によるズレを軽減するのと、viewport
設定を紛らわすために、ある程度大きくします。大体1000
くらいでいいでしょう。
<canvas width="1000" height="1000"></canvas>
次にいきなりscript
を書きます。
要素取得してgetContext
するあたりまではお決まりです。
var a = document.querySelector("canvas"),
c = a.getContext("2d");
最後に、touch
イベントを書いて終わりです。
beginPath
がどうこうとかは省きます。
座標はpageX
でもclientX
でもscreenX
でもなんでもいいです。
a.ontouchstart = function (e) {
e.preventDefault(); //固定用
c.moveTo(e.touches[0].pageX, e.touches[0].pageY); //パスをタッチした地点へ
};
a.ontouchmove = function (e) {
c.lineTo(e.touches[0].pageX, e.touches[0].pageY); //動いたところまで線を引く
c.stroke(); //描画
};
以上で大体動きます。つなげると以下のようになります。
<canvas width="1000" height="1000"></canvas>
<script>
var a = document.querySelector("canvas"),
c = a.getContext("2d");
a.ontouchstart = function (e) {
e.preventDefault();
c.moveTo(e.touches[0].pageX, e.touches[0].pageY);
};
a.ontouchmove = function (e) {
c.lineTo(e.touches[0].pageX, e.touches[0].pageY);
c.stroke();
};
</script>