Atölye › Sonsuz Koşucu › 4/19. adım

Yer çekimi

Ne yapıyoruz

Koşucuya bir dikey hız veriyoruz: vy. Her karede yer çekimi bu hıza biraz ekler (aşağı doğru), hız da koşucuyu hareket ettirir. Ayakları zemine değince orada durur. Gerçek düşüş de böyledir: düştükçe hızlanırsın.

Koşucu zaten yerde durduğu için bu adımda bir şey değişmeyecek; ama bir sonraki adımda zıplayınca yer çekimi onu geri indirecek.

```js
const GRAVITY = 0.6

let runner = { x: 50, y: GROUND - STAND_H, w: 40, h: STAND_H, vy: 0 }

function onGround() {
  return runner.y + runner.h >= GROUND
}

function update() {
  runner.vy += GRAVITY
  runner.y += runner.vy
  if (onGround()) {
    runner.y = GROUND - runner.h
    runner.vy = 0
  }
}

  update()
```

Ne işe yarıyor

Sıra sende

  1. const GROUND = ... satırının altına GRAVITY satırını yaz; runner nesnesinin sonuna , vy: 0 ekle.
  2. runner satırının altına onGround ve update fonksiyonlarını yaz.
  3. loop içinde draw() satırının üstüne update() yaz.
  4. Çalıştır.

Beceriler: Hız ve yerçekimi

Tüm adımlar

  1. Zemin
  2. Koşucu
  3. Tekrar tekrar çiz
  4. Yer çekimi
  5. Zıpla
  6. Kısa sıçrama
  7. Dokunarak zıpla
  8. Üstüne gelen engeller
  9. Kaktüsler gelmeye devam ediyor
  10. Başlangıcı bekle
  11. Çarpışma
  12. Yeniden dene
  13. Giderek hızlan
  14. En iyi koşuyu hatırla
  15. Skor sayacı
  16. Kuşlar
  17. Hangi tuşlar basılı?
  18. Eğil
  19. Kendin yap: zıplama tamponu