Atölye › Doodle Jump Tarzı Tırmanış › 11/24. adım

Takip eden kamera

Ne yapıyoruz

Sonsuza kadar tırmanmak için dünya ekrandan uzun olmalı. Artık konumlar dünyada ölçülüyor; cameraY (kamera) ise ekranın en üstünde dünyanın hangi yüksekliğinin göründüğünü söylüyor. Her şeyi kamera kadar kaydırarak çiziyoruz; zıplayan ekranın üst kısmına yaklaşınca kamera yukarı kayıyor.

Bir sinema kamerası gibi: oyuncu kameraya göre değil, dünyada hareket eder; kamera onu takip eder.

```js
let cameraY = 0 // the world y shown at the top of the screen: the camera

  // The camera only ever moves up, keeping the player in the upper part of the screen.
  if (player.y < cameraY + 200) cameraY = player.y - 200

    ctx.fillRect(p.x, p.y - cameraY, p.w, p.h)

  ctx.fillRect(player.x, player.y - cameraY, player.w, player.h)
  // Half off one side: draw the other half on the far side.
  if (player.x < 0) ctx.fillRect(player.x + canvas.width, player.y - cameraY, player.w, player.h)
  if (player.x + player.w > canvas.width) ctx.fillRect(player.x - canvas.width, player.y - cameraY, player.w, player.h)
```

Ne işe yarıyor

Sıra sende

  1. platforms listesinin altına cameraY satırını yaz.
  2. update içinde iniş bloğunun altına bir boş satır bırakıp kamera satırlarını yaz.
  3. draw içinde platformu ve zıplayanı çizen dört fillRect'te y değerinin sonuna - cameraY ekle.
  4. Çalıştır ve en üst platforma kadar çık: ekran seninle kaymalı.

Beceriler: Oyun durumları, Canvas üzerine çizim

Tüm adımlar

  1. Zıplayan
  2. Tekrar tekrar çiz
  3. Yer çekimi
  4. Sek
  5. Sağa sola yönlendir
  6. Kenarlardan geç
  7. Yarısı burada, yarısı orada
  8. Dokunarak yönlendir
  9. Platformlar
  10. Platformlara kon
  11. Takip eden kamera
  12. Duvardaki çizgiler
  13. Ne kadar zor olsun?
  14. Bitmeyen platformlar
  15. Iskala ve düş
  16. Yeniden oyna
  17. Dokunarak yeniden oyna
  18. Skor yükseklik
  19. En iyi skor
  20. Platform türleri
  21. Hareketli platformlar
  22. Tuzaklar
  23. Kırılıyor!
  24. Kendin yap: yaylar