Atölye › Asteroids › 31/41. adım
Oyuncu güvende olduğunu görmeli; yoksa kayaların gemiden geçmesi bir hata gibi görünür. O yüzden güvendeki gemi yanıp sönecek: zamanı 150 milisaniyelik dilimlere bölüp gemiyi dilimlerin sadece birinde çizeceğiz, diğerinde çizmeyeceğiz. Neredeyse her aksiyon oyununun kullandığı minik bir formül.
```js
// Blink while invulnerable, so the player can see it.
const safe = now < ship.safeUntil
if (!safe || Math.floor(now / 150) % 2 === 0) drawShip()
```const safe = now < ship.safeUntil → güvenli süre bitmediyse true.now / 150 → şimdiye kadar kaç tane 150 ms'lik dilim geçti (küsuratlı). Math.floor küsuratı atar: 7.8 → 7.% 2 === 0 → dilim numarası çift mi? Çift, tek, çift, tek diye gider; gemi de görünür, görünmez diye yanıp söner.|| → "veya": güvende değilse (!safe) ya da çift dilimdeyse çiz. Güvenli süre bitince hep çizilir.draw içindeki drawShip() satırını sil; yerine yorum satırını ve iki yeni satırı yaz. Çalıştır: gemi ilk iki
saniye ve her çarpmadan sonra yanıp sönmeli.
Beceriler: Canvas üzerine çizim, Oyun durumları
← Bir anlık güvenlik Kaya dalgaları →