Atölye › Bilardo › 7/33. adım

Nişan çizgisi

Ne yapıyoruz

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()
```

Ne işe yarıyor

Sıra sende

  1. let cue satırının altına yorumuyla birlikte let aim ... yaz.
  2. reset içinde rack() satırının altına aim = 0 yaz.
  3. 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.
  4. Çalıştır: beyaz toptan sağa, üçgene doğru ince bir çizgi görmelisin.

Beceriler: Canvas üzerine çizim

Tüm adımlar

  1. Oda
  2. Masa
  3. İsteka topu
  4. Topları çiz
  5. Üçgen
  6. Topların numaraları
  7. Nişan çizgisi
  8. Nişanı çevir
  9. Vuruş bir hızdır
  10. Yuvarlan
  11. Sürtünme
  12. Bantlar
  13. Nişan ve yuvarlanma
  14. Yuvarlanırken nişanı gizle
  15. Vuruşları say
  16. Değen toplar
  17. İtişi değiş tokuş et
  18. Altı cep
  19. Cebe girdi
  20. Faul
  21. Kalan toplar
  22. Masayı temizle
  23. Gücü seç
  24. Güç çubuğu
  25. Sapan
  26. Basarak nişan al
  27. Geri çek ve bırak
  28. Daha küçük adımlar
  29. Vuruşu tahmin et
  30. Hayalet topu çiz
  31. Çarpılan top nereye gider
  32. Rekorun
  33. Kendin yap: iki oyuncu