ユーザーが赤い泡の中をクリックしたときはどうすれば検出できますか?ユーザーが円内をクリックしたかどうかを検出する
正方形のフィールドのようにはなりません。マウスは、円の内側に本当にでなければならない:
はここでは、コードは次のとおり
<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はこの場合必要ではなく、有用でもありません。 –