Atölye › Bilardo › 7/33. adım
Vuruş bir yöne gider. Yönü tek bir sayıyla, bir açıyla tutacağız: aim (nişan). Açılar radyan ile ölçülür:
tam tur Math.PI * 2 (≈ 6.28), yarım tur Math.PI. 0 sağı gösterir; Math.PI / 2 ise aşağıyı (canvas'ta y
aşağı büyüdüğü için).
Açıyı ekrana çevirmek için trigonometri kullanacağız, ama yalnız iki fonksiyonu: bir birim ilerlerken Math.cos(aim) ne
kadar sağa, Math.sin(aim) ne kadar aşağı gidildiğini söyler. İsteka topundan bu yönde ince bir çizgi çizeceğiz.
```js
let aim // angle of the shot, in radians
aim = 0
ctx.strokeStyle = 'rgba(255, 255, 255, 0.6)'
ctx.lineWidth = 1
ctx.beginPath()
ctx.moveTo(cue.x, cue.y)
ctx.lineTo(cue.x + Math.cos(aim) * 400, cue.y + Math.sin(aim) * 400)
ctx.stroke()
```let aim → vuruşun açısı (radyan). reset içinde aim = 0 → sağa bakarak başla.ctx.strokeStyle = 'rgba(255, 255, 255, 0.6)' → yüzde 60 görünür beyaz çizgi; lineWidth = 1 → 1 piksel.ctx.beginPath() → yeni bir şekil. ctx.moveTo(cue.x, cue.y) → kalemi topun ortasına koy (çizmeden).ctx.lineTo(cue.x + Math.cos(aim) * 400, cue.y + Math.sin(aim) * 400) → oradan, aim yönünde 400 piksel ötedeki
noktaya bir çizgi. aim = 0 iken cos 1, sin 0: 400 sağa. aim = Math.PI / 2 iken cos 0, sin 1: 400 aşağı.ctx.stroke() → yolu çizgi olarak boya.let cue satırının altına yorumuyla birlikte let aim ... yaz.reset içinde rack() satırının altına aim = 0 yaz.draw içinde çuhayı çizen fillRect satırının altına bir boş satır bırak ve çizgiyi çizen altı satırı yaz.Beceriler: Canvas üzerine çizim
← Topların numaraları Nişanı çevir →