나는 drawCircle 함수로 html5 캔버스 (this.ctx)에서 원을 그립니다. 이제 Circle 함수를 사용하여 cirlce를 다른 위치로 이동하고 싶습니다. 한 곳에서 다른 곳으로 원이 이동하는 것을 볼 수있는 방법이 있습니까? 이 시점에서 나는 사용자를 위해 이전의 서클을 제거하는 방법조차 모릅니다. 원호에 객체를 할당 할 수 있습니까?html5 캔버스에서 원 이동
customobject.prototype.drawCircle = function drawCircle(userID, x, y) {
var radius = 10;
this.ctx.beginPath();
this.ctx.arc(100, 00, 10, 0, Math.PI*2, true);
this.ctx.closePath();
this.ctx.fillStyle = 'blue';
this.ctx.fill();
this.ctx.lineWidth = 2;
this.ctx.strokeStyle = '#003300';
this.ctx.stroke();
}
customobject.prototype.moveCircle = function moveCircle(userID, x, y) {
}
내가 잠재적으로 원을 삭제하는 방법을 참조했다 (애니메이션하지 - 이동) :
remove circle(x, y, radius){
this.ctx.globalCompositeOperation = 'destination-out'
this.ctx.arc(x, y, radius, 0, Math.PI*2, true);
this.ctx.fill();
}
- 나는 원래 원의 좌표를 지정하고 것이이 경우에, 그래서>는 것 자르나요?
나는 동그라미 만들기에 관한 게시물도 this 보았습니다. 하지만 여러 개의 서클에서 어떻게해야하는지 모르겠습니다.
여러 개의 서클이있는 경우 가장 좋은 방법은 easel.js와 같은 라이브러리를 사용하는 것입니다. 이점은 각 개체에 ID를 부여 할 수 있고 개별적으로 작업을 수행 할 수 있다는 것입니다. 그리고 당연히 @philipp이 맞다면 customAttribute를 사용한다면 requestAnimationFrame()을 사용하여 캔버스를 지우고 모든 것을 다시 그려야합니다. –
여러 개의 서클이있는 경우 그는'[{start :, end :, p1 : {}, p1 : {}, ...}, {...}, ...]와 같은 간단한 배열을 사용할 수도 있습니다. 그리고 그걸 반복하면됩니다. 그러나 더 많은 모양, 스타일, 편의 기능이 필요한 경우 도서관보다 좋습니다. – philipp