Atölye › Ritim Şeritleri › 16/35. adım

Zamana yeterince yakın

Ne yapıyoruz

Kimse tam doğru karede basamaz; bir iki kare erken ya da geç olur. Bu yüzden vuruşa bir pencere veriyoruz: notanın zamanına 9 kare (saniyenin yaklaşık altıda biri) yakın her basış sayılır.

Pencerenin dışında basarsan (çok erken) hiçbir şey olmaz: nota yerinde durur ve gelmeye devam eder.

```js
const GOOD = 9

// A key press hits the closest note in its lane, if it is close enough in time.
function press(lane) {

  if (!closest) return
  const off = Math.abs(closest.time - frame)
  if (off > GOOD) return // too early: nothing happens, and the note is still there
  closest.hit = true
```

Ne işe yarıyor

Sıra sende

  1. const LEAD = ... satırının altına const GOOD = 9 yaz (KEYS onun altında kalır).
  2. function press(lane) { satırının üstüne yorum satırını yaz.
  3. press içinde if (!closest) return ile closest.hit = true satırlarının arasına iki yeni satırı yaz.
  4. Çalıştır: artık yalnız nota çizgiye gelirken basınca kaybolmalı.

Beceriler: Oyun durumları

Tüm adımlar

  1. Notalar için bir sahne
  2. İlk şerit
  3. Döngüyle dört şerit
  4. Vuruş çizgisi
  5. Çizen bir fonksiyon
  6. Yazı olarak şarkı
  7. Yazıdan notalara
  8. Yeri saat belirler
  9. Notaları çiz
  10. İşleyen bir saat
  11. Oyun döngüsü
  12. Yanan şeritler
  13. Şeritlere tuşlar
  14. Tuşları göster
  15. En yakın notaya vur
  16. Zamana yeterince yakın
  17. Bir basış, bir vuruş
  18. Ekranda bir mesaj
  19. Hit mesajı
  20. Mesaj gitsin
  21. Kusursuz ya da iyi
  22. Say
  23. Kaçan notalar
  24. Puan
  25. Art arda vuruşlar
  26. Çarpan
  27. Şarkı biter
  28. Saati durdur
  29. Doğruluk
  30. Not
  31. Sonuçlar
  32. Yeniden oyna
  33. En iyi puan
  34. Dokunulabilen şeritler
  35. Kendin yap: hız ayarı