사용자가 빨간색 풍선 내부를 클릭하면 어떻게 감지 할 수 있습니까?사용자가 원을 클릭하면 감지
정사각형 필드가 아니어야합니다.
코드입니다 : 마우스가 원 안에 정말해야
<canvas id="canvas" width="1000" height="500"></canvas>
<script>
var canvas = document.getElementById("canvas")
var ctx = canvas.getContext("2d")
var w = canvas.width
var h = canvas.height
var bubble = {
x: w/2,
y: h/2,
r: 30,
}
window.onmousedown = function(e) {
x = e.pageX - canvas.getBoundingClientRect().left
y = e.pageY - canvas.getBoundingClientRect().top
if (MOUSE IS INSIDE BUBBLE) {
alert("HELLO!")
}
}
ctx.beginPath()
ctx.fillStyle = "red"
ctx.arc(bubble.x, bubble.y, bubble.r, 0, Math.PI*2, false)
ctx.fill()
ctx.closePath()
</script>
, 그냥 간단 기하학적 계산은 점 (커서)이 원 안에 있는지 여부를 결정합니다. http://stackoverflow.com/questions/481144/equation-for-testing-if-a-point-is-inside-a-circle – qJake
부비동과 코사인의 소식 ...? – CBroe
@CBroe Trig는이 경우 필요하지 않으며 유용하지 않습니다. –