0 oy
Programlama/Kod kategorisinde (440 puan) tarafından soruldu
x ve y, faremin koordinatları olmak üzere canvas ile çizdiğim daireye gelindiğinde işlem yapmak istiyorum. (mesela alert("Dairenin İçindesiniz") )
------

Kare ile yaptığımda şöyle olmuştu, belki yol gösterir yahut daha iyi anlatırım:

canvasım.fillRect(10,10,100,100);

Tıklandığında x ve y'ye fare koordinatlarını veren bir fonksiyon...

if(x>10&&x<110){
      if(y>10&&y<110){
            alert("Karenin içindesiniz");
      }
}

1 cevap

+1 oy
(10.3k puan) tarafından cevaplandı
<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 (Math.sqrt((x-bubble.x)*(x-bubble.x) + (y-bubble.y)*(y-bubble.y)) < bubble.r) {
        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>

Ref: http://stackoverflow.com/questions/16792841/detect-if-user-clicks-inside-a-circle

(440 puan) tarafından yorumlandı
teşekkürler..
...