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

Yeri saat belirler

Ne yapıyoruz

Bu, her ritim oyununun ana fikri: saat gerçektir, resim ondan hesaplanır.

Oyun sadece zamanı sayar: frame (kaçıncı karedeyiz). Bir notanın ekrandaki yüksekliği ise zamanından hesaplanır. Zamanı geldiğinde nota tam çizgidedir; gelmesine kalan her kare için SPEED (4) piksel daha yukarıdadır. Notaları adım adım kaydırmadığımız için müzikten hiç kaymazlar.

```js
const SPEED = 4 // pixels a note falls per frame

let frame

  frame = 0
}

// Where a note is drawn: on the line at its time, higher up the earlier it is.
const noteY = (note) => HIT_Y - (note.time - frame) * SPEED
```

Ne işe yarıyor

Sıra sende

  1. const HIT_Y = ... satırının altına SPEED satırını yaz (STEP ve LEAD onun altında kalır).
  2. let notes ... satırının altına let frame yaz.
  3. reset'in sonunda, }) satırının altına frame = 0 yaz.
  4. reset fonksiyonunun kapanan }'sinin altında bir boş satır bırak; yorumu ve noteY satırını yaz.
  5. Çalıştır: ekran değişmez; kontroller yeşil olmalı.

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ı