SORU
21 ŞUBAT 2009, CUMARTESİ


Sıçrama açısı nasıl hesaplanır?

Bir süre onunla oynadım, ama ben sadece bunu anlamaya olamaz.

Füze fırlatan bir tank yaptım ve füzeler duvarlara vurduğunda, onları sıçrama yapmak istiyorum, ama onları doğru açı Zıplama istiyorum.

Şu anda herhangi bir engel yok, füzeleri sadece viewportRectangle dışarıdan geldiklerinde yaptım sekiyor.

Arıyorum çözüm oldukça gelişmiş.

Nispeten basit bir yolu var mı?

CEVAP
21 ŞUBAT 2009, CUMARTESİ


Bunu yapmanın daha kolay bir yolu açıları hesaplamak yerine füze hızı kullanmak olduğunu düşünüyorum. Onun hareketi, yatay ve dikey olarak temsil etmek için xVelocity yVelocity olan bir füze var. Bu hızları veya sola, sağa, yukarı veya aşağı göstermek için pozitif negatif olabilir.

  • Eğer bir füze isabet ederse üst veya alt sınır yVelocity işareti ters.
  • Eğer bir füze isabet ederse sol veya sağ kenarlık xVelocity işareti ters.

Bu ters eksen hareketi aynı şekilde devam edecektir.

ChrisF's answer diyelim görüntüden borçlanma füze pozisyonu I. başlar

Angle of Reflection

xVelocity yVelocity olumlu olmak (2D grafik sağa ve aşağı genellikle pozitif) ile füze işaret yolculuk olacak. Hadi değerlerini atayın

xVelocity = 3
yVelocity = 4

Füze pozisyonunda duvara çarptığındaC, xVelocity değişmemeli, ama yVelocity geri yönde hareket eder, böylece -4 tersine çevrilmeli, ama tutar doğru gidiyor.

Bu yöntemin yararı, sadece ... xPosition, 12*, xVelocity*, yVelocity bir füze takip etmek lazım. Sadece bu dört bileşen ve oyun güncelleme oranı kullanılarak, füze her zaman doğru konumda yeniden alacak. Dik açı değildir ya da hareket eden daha karmaşık engelleri içine aldıktan sonra, bir sürü X ile çalışır ve açıları ile daha hız Y için daha kolay olacaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AFISHAL

    AFISHAL

    7 Mart 2009
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • Willie D.

    Willie D.

    16 Aralık 2006