Atölye › Asteroids › 10/41. adım
Gemi sonsuza kadar hızlanmasın. Toplam hız, hız okunun uzunluğudur: vx sağa, vy aşağı ise uzunluk Pisagor ile
bulunur: √(vx² + vy²). JavaScript'te bunun hazır adı Math.hypot(vx, vy).
Hız sınırı aşarsa iki hızı da aynı oranla küçülteceğiz. Böylece yön aynı kalır, sadece hız kısalır. İkisini ayrı ayrı sınırlasaydık gemi çapraz giderken daha hızlı uçardı.
```js
const MAX_SPEED = 6
const speed = Math.hypot(ship.vx, ship.vy)
if (speed > MAX_SPEED) {
ship.vx *= MAX_SPEED / speed
ship.vy *= MAX_SPEED / speed
}
```Math.hypot(ship.vx, ship.vy) → hızın uzunluğu: vx 3, vy 4 ise 5.if (speed > MAX_SPEED) → sınırı aştıysa (> "büyüktür").MAX_SPEED / speed → 1'den küçük bir oran: hız 8 ise 6 / 8 = 0.75. İki parçayı da bununla çarpınca uzunluk tam 6
olur, ok aynı yöne bakmaya devam eder.const FRICTION = ... satırının altına MAX_SPEED satırını yaz.update içinde ship.x += ship.vx satırının üstüne hız sınırı satırlarını yaz.Beceriler: Hız ve yerçekimi
← Biraz sürtünme Ekranın çevresinden dolaş →