Atölye › Angry Birds Tarzı Sapan › 16/47. adım
Sert fırlatılan kuş ekranın sağından çıkıp gidiyor, ama listede kalıyor: görünmediği hâlde her karede hareket ettiriliyor ve çiziliyor. Sonsuza kadar!
Her adımın sonunda listeyi süzeceğiz: ekranın 50 pikselden fazla dışına çıkanlar gider. Giden uçan kuşsa,
bird de null olur.
```js
// Fallen off the world: gone.
bodies = bodies.filter((b) => {
if (b.x < canvas.width + 50 && b.x + b.w > -50) return true
if (b === bird) bird = null
return false
})
```bodies.filter((b) => { ... }) → listedeki her gövde için fonksiyonu çalıştırır ve yalnız true (evet) dediklerini
tutan yeni bir liste yapar. bodies = eski listeyi bununla değiştirir.b.x < canvas.width + 50 → sol kenarı, sağ kenarın 50 piksel ötesini geçmemiş.b.x + b.w > -50 → sağ kenarı, sol kenarın 50 piksel gerisine düşmemiş.&& "ve" demek: ikisi de doğruysa return true, gövde kalır.if (b === bird) bird = null → giden uçan kuşsa onu unut. return false → gövde gider.step içinde, for döngüsünün kapanan } satırından sonra (fonksiyonun kapanan }'sinden önce) yorumu ve
filter bloğunu yaz.Beceriler: Diziler ve nesneler
← Uçuşta boş sapan Sakinliği bekle →