0
このキャンバスの描画を見て、新しい描画効果を追加できるかどうか教えてください。ご覧のとおり、図面はcurPoint
から始まり、curPoint
で終了しますが、curPoint
から始まり、下から上に向かっていく方法はありますか?キャンバスに長方形を描く両側に真ん中のサイドから
var canvas = document.getElementById("canvasWindow");
var c = canvas.getContext("2d");
var curPoint = {
x : 300,
y : 100,
index : 0
}
var points = [{x:100, y:100}, {x:100, y:300}, {x:500, y:300}, {x:500, y:100}, {x:300, y:100}];
function toPoints(points){
var targetPoint = points[curPoint.index];
var tx = targetPoint.x - curPoint.x,
ty = targetPoint.y - curPoint.y
var dist = Math.sqrt(tx*tx+ty*ty),
rad = Math.atan2(ty,tx);
var velX = (tx/dist)*1;
var velY = (ty/dist)*1;
curPoint.x += velX;
curPoint.y += velY;
if(dist < 2){
curPoint.index++;
}
c.fillRect(curPoint.x, curPoint.y, 1, 1);
if(curPoint.index < points.length){
setTimeout(function(){toPoints(points)}, 5);
}
}
toPoints(points);
<canvas id="canvasWindow" width="600" height="600"></canvas>
ただ、同時に2つのパスを描画します。 – destoryer