Atölye › Angry Birds Tarzı Sapan › 6/47. adım
Gerçek bir sapanda kuşu nişanın tersine çekersin: sağa ve yukarı nişan alıyorsan kuş sapanın sol altında durur. Ne kadar çok çekersen o kadar geride.
Bir açının yönünde yürümek için iki yardımcımız var: Math.cos(açı) yolun yatay payını, Math.sin(açı)
dikey payını verir (ikisi de −1 ile 1 arası). Açı yönünde ileri gitmek için bunları ekleriz, geri
gitmek için çıkarırız.
```js
const bx = SLING.x - Math.cos(aim.angle) * aim.pull * 0.5
const by = SLING.y - Math.sin(aim.angle) * aim.pull * 0.5
ctx.fillStyle = MATERIALS.bird.color
ctx.beginPath()
ctx.arc(bx, by, BIRD, 0, Math.PI * 2)
```Math.cos(aim.angle) → açı yönündeki bir adımın ne kadarı yana gider. Açı 0 (düz sağ) ise 1: hepsi.Math.sin(aim.angle) → ne kadarı aşağı gider. Açı eksi (yukarı) olduğu için bu sayı eksidir.* aim.pull → adımı çekiş kadar uzatır.SLING.x - ... ve SLING.y - ... → çıkarma, sapandan geriye gitmek demek. Nişan sağ-yukarıysa kuş
sol-aşağıda çizilir.* 0.5 → yalnız çizimi yarıya küçültür: çekiş 70'e kadar çıkabilir, ama 70 piksel geride çizilen kuş sapandan
kopuk görünürdü.ctx.arc(bx, by, ...) → kuş artık sapanın tepesine değil, geri çekildiği yere çizilir.const → bx ve by yalnız bu çizim için hesaplanan, fonksiyonun içinde yaşayan geçici adlar.draw içinde ctx.fillStyle = MATERIALS.bird.color satırının üstüne bx ve by satırlarını yaz.ctx.arc(SLING.x, SLING.y, ...) satırında SLING.x, SLING.y yerine bx, by yaz.Beceriler: Canvas üzerine çizim, Hız ve yerçekimi