Как определить, когда пользователь нажимает на красный пузырь?Обнаруживать, если пользователь нажимает на круг
Это не должно быть квадратное поле. Мышь должна быть на самом деле внутри круга:
Вот код:
<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 в этом случае не нужен, и это не будет полезно. –