Atölye › Angry Birds Tarzı Sapan › 29/47. adım
Tam hızdaki kuş bir karede 14 piksel gidiyor; direkler ise 12 piksel enli. Kuş bir karede direğin bir yanında, sonraki karede öbür yanında olabilir: çarpışma hiç görülmez, kuş içinden geçer.
Çözüm: her kareyi 4 küçük fizik adımına bölmek. Her adımda gövdeler yolun dörtte birini gider ve her adımda çarpışmalara bakılır. Bir karede yine aynı yol gidilir, ama hiçbir şey gözden kaçmaz. Kule de daha sakin durur.
```js
const SUB = 4 // physics steps per frame
b.vy += GRAVITY / SUB
b.x += b.vx / SUB
b.y += b.vy / SUB
function update() {
for (let i = 0; i < SUB; i++) step()
```const SUB = 4 → karedeki fizik adımı sayısı.b.vy += GRAVITY / SUB → her küçük adımda yerçekiminin dörtte biri.b.x += b.vx / SUB ve b.y += b.vy / SUB → her küçük adımda yolun dörtte biri.for (let i = 0; i < SUB; i++) step() → step'i karede 4 kez çalıştırır. Dört çeyrek bir bütün eder: kuşlar
eskisi kadar hızlı uçar ama arada 4 kez çarpışmaya bakılır.const BIRD = 10 ... satırının altına SUB satırını yaz.step içindeki üç satırın sonuna / SUB ekle.update içindeki step() satırını for (let i = 0; i < SUB; i++) step() ile değiştir.Beceriler: Hız ve yerçekimi, Oyun döngüsü