Atölye › Klondike Solitaire › 29/40. adım
Kart tutulurken parmak her kıpırdadığında yeni yerini drag.x ve drag.y'ye yazacağız.
Bir de şunu ayırmalıyız: bu bir dokunuş mu, sürükleme mi? Parmak dokunurken bile biraz titrer. Bu yüzden 4
pikselden fazla kayarsa "gerçekten sürükledi" diyeceğiz: moved = true.
```js
canvas.addEventListener('pointermove', (event) => {
if (!drag) return
const p = toCanvas(event)
if (Math.hypot(p.x - drag.x, p.y - drag.y) > 4) drag.moved = true
drag.x = p.x
drag.y = p.y
})
```canvas.addEventListener('pointermove', ...) → işaretçi canvas üstünde her kıpırdadığında çalışır.if (!drag) return → elde kart yoksa ilgilenmiyoruz.Math.hypot(p.x - drag.x, p.y - drag.y) → iki nokta arasındaki uzaklık. Yatayda 3, dikeyde 4 kaydıysa uzaklık
√(3² + 4²) = 5 (Pisagor). Math.hypot bu hesabı bizim için yapar.> 4 → 4 pikselden fazla kaydıysa drag.moved = true: artık bir sürükleme.drag.x = p.x, drag.y = p.y → yeni yeri kaydet.pointerdown dinleyicisinin kapanan }) satırının altına bir boş satır bırak ve pointermove dinleyicisini yaz.
Çalıştır.
Beceriler: Klavye ve fare girdisi
← Kartı nereden tuttun? Tutulan kartları işaretçide çiz →