HTML5 캔버스와 바닐라 자바 스크립트를 사용하여 Simon 게임을 만들려고합니다. arc() 메소드의 좌표계에 대해 혼란 스럽다. 나는 원을 4 사분면으로 나누었고 클릭 된 사분면의 수를 알려주고 싶다. 그러나 어떤 부분을 클릭했는지 확인하는 방법을 모르겠습니다.HTML5 캔버스를 사용하여 클릭 한 원의 부분을 찾는 방법은 무엇입니까?
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var x = canvas.width/2;
var y = canvas.height/2;
var pads = [];
var angle = 2 * Math.PI/4;
var color = ["green","red","blue","yellow"];
var Pads = function(x, y, radius, start, end) {
this.x = x;
this.y = y;
this.radius = radius;
this.start = start;
this.end = end;
};
function drawSimon(radius) {
for (var i = 0; i < 4; i++) {
context.beginPath();
context.moveTo(x, y);
context.arc(x, y, radius, i*angle, (i+1)*angle, false);
context.lineWidth = radius;
context.fillStyle = color[i];
context.fill();
context.lineWidth = 2;
context.strokeStyle = '#444';
context.stroke();
var pad = new Pads(x, y, radius, i*angle, (i+1)*angle);
pads.push(pad);
}
}
drawSimon(150);
$('#myCanvas').click(function (e) {
/*for (var i = 0; i < pads.length; i++) {
if (//condition matches) {
alert (i);
}
}*/
});
확인 [데모] (https://jsfiddle.net/xawpLdys/2/) – guradio
: 여기
이 일을 도와 유형입니다 동그라미에. 마우스가 있는지 확인하는 두 가지 방법은 이전 [Q & A] (http://stackoverflow.com/questions/29034251/how-do-i-bind-onclick-event-to-piechart-segment/29040839#29040839)를 참조하십시오. 그 쐐기 가운데 하나. – markE답장을 보내 주셔서 감사합니다. 클릭 한 x 및 y 좌표를 얻는 방법을 알고 있지만 클릭 한 사분면을 찾는 방법을 모르겠습니다. 기하학은 결코 나의 장점이 아니었다 !! – M00