Atölye › Asteroids › 27/41. adım
Herhangi bir kaya gemiye değerse gemi çarpar. Gemiyi yarıçapı SHIP_R * 0.7 olan bir daire sayıyoruz; gerçek boyundan
biraz küçük. Üçgen, çevresindeki daireyi tam doldurmaz; biraz küçük bir daire daha adil hissettirir. Oyuncu "değmedi
ki!" demesin.
```js
if (asteroids.some((asteroid) => hits(ship, SHIP_R * 0.7, asteroid, asteroid.r))) {
crash()
return
}
```asteroids.some((asteroid) => ...) → listede şartı tutan en az bir öğe varsa true. Yani "herhangi bir kaya
gemiye değiyor mu?".SHIP_R * 0.7 → geminin çarpışma dairesi: 14 × 0.7 ≈ 10 piksel.return → update'ten hemen çık; bu karede başka iş yapma.update içinde bullets = bullets.filter(...) satırının altına bir boş satır bırakıp if bloğunu yaz. Çalıştır ve
bir kayaya çarp: gemi ortaya dönmeli.
Beceriler: Çarpışma tespiti
← Can kaybetmek Canları göster →