Latihan 1: requestAnimationFrame — Web Animation

Latihan 1 dari materi requestAnimationFrame di Web Animation — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi dua function. Ini matematika yang sama dengan total harga yang menghitung naik di kartu Bu Sri, tanpa browser.

  1. createAnimation(from, to, duration) mengembalikan object dengan method getValueAt(elapsedMs). Method itu menghitung progress t = elapsedMs / duration, menahannya di antara 0 dan 1, lalu mengembalikan from + (to - from) * t (linear, tanpa easing). Jadi waktu <= 0 mengembalikan from, dan waktu >= duration mengembalikan to.
  2. easeOutQuad(t) menerima progress 0 sampai 1 dan mengembalikan t * (2 - t).

Tujuh console.log di kode awal biarkan saja. Yang dinilai, baris console-nya harus persis:

  1. 0
  2. 150
  3. 300
  4. 300
  5. 0
  6. 0.75
  7. 1

Nilai kembaliannya juga dinilai langsung: createAnimation(100, 200, 400).getValueAt(100) harus 125, createAnimation(10, 20, 100).getValueAt(-50) harus 10, dan easeOutQuad(0.25) harus 0.4375.

Hint