Atölye › Dört Bağla › 19/38. adım
Yer çekimi iki satırdır. Düşen bir şeyin iki bilgisi var: yeri (y) ve hızı (vy, dikey hız). Her karede:
Böylece disk önce yavaş, sonra giderek hızlı düşer; bir topu bıraktığında olduğu gibi. Deliğinin ortasına varınca
iner. Bu işi update (güncelle) fonksiyonu yapacak; döngü de onu her karede çağıracak. Disk henüz çizilmiyor, ama
yerine vardığında tahtada belirecek.
```js
const GRAVITY = 1.2
function update() {
if (falling) {
falling.vy += GRAVITY
falling.y += falling.vy
const bottom = TOP + falling.row * CELL + CELL / 2
if (falling.y >= bottom) {
falling.y = bottom
land()
}
}
}
update()
```if (falling) → "düşen bir disk varsa".falling.vy += GRAVITY → += "üstüne ekle": hız her karede 1.2 artar.falling.y += falling.vy → yer, hız kadar aşağı iner.const bottom = TOP + falling.row * CELL + CELL / 2 → hedef deliğin ortası (çizimdeki y hesabının aynısı).if (falling.y >= bottom) → vardıysa ya da biraz geçtiyse: falling.y = bottom ile tam yerine oturt, land() ile
hamleyi bitir.loop içinde update() → her karede önce güncelle, sonra çiz.const TOP = ... satırının altına GRAVITY satırını yaz.function disc( satırının üstüne update fonksiyonunu yaz; altında bir boş satır kalsın.loop içinde draw() satırının üstüne update() yaz.Beceriler: Hız ve yerçekimi, Oyun döngüsü