Atölye › Bilardo › 30/33. adım
Nişan alırken çizgi artık hayalet topta bitsin ve orada içi boş bir daire, isteka topunun değeceği yeri göstersin. Önüne top yoksa çizgi eskisi gibi 400 piksel.
```js
const g = ghost()
const length = g ? g.hit : 400
ctx.lineTo(cue.x + Math.cos(aim) * length, cue.y + Math.sin(aim) * length)
ctx.stroke()
if (g) {
ctx.beginPath()
ctx.arc(g.x, g.y, R, 0, Math.PI * 2)
ctx.stroke()
}
```const g = ghost() → tahmin edilen çarpma (ya da null).const length = g ? g.hit : 400 → çizginin uzunluğu: çarpma varsa oraya kadar, yoksa 400.lineTo artık 400 yerine length kullanıyor.if (g) { ... } → çarpma varsa hayalet topu çiz: arc ile daire, ama fill yerine stroke: yalnız çerçeve.draw içinde if (state === 'aiming') { satırının hemen altına g ve length satırlarını yaz.lineTo satırındaki iki 400'ü length yap.ctx.stroke() satırının altına if (g) { ... } bloğunu yaz.Beceriler: Canvas üzerine çizim
← Vuruşu tahmin et Çarpılan top nereye gider →