Sprite'ı farenin yüz yönüne ayarla


9

Bir html5 tuval oyunu inşa ediyorum ve sprite'ımın fare imleciyle yüzleşmesini sağlamanın bir yoluna ihtiyacım var. Sprite için X ve Y koordinatlarına ve ayrıca işaretçinin X ve Y koordinatlarına sahibim. Sıkıştığım şey, hareketli grafiğin işaretçiyi göstermesi için gereken matematik. Her şey 2D bir dünyada, bu yüzden çok karmaşık olacağını hayal edemiyorum, ancak bu şeylerle ilgili çok az deneyimim var.

Ayrıca bu tür bir şey hakkında makalelere / blog yazılarına herhangi bir yararlı bağlantılar harika olurdu (2D oyun programlama genel olarak, özellikle Javascript değil).

Eklemek için, X ve Y konumunu kullanarak beni imlece doğru gösterecek derece cinsinden bir açıya ihtiyacım olduğunu not etmeliyim.

İmlecin koordinatlarını nasıl bilebilirim ve tüm bunları nereye koyabilirim?


Merhaba, senin gibi okçulukta benzer bir sorunum vardı. İsterseniz bloguma göz atın: yannbane.blogspot.com .
jcora

Yanıtlar:


11

Emrindeki API'leri bilmiyorsanız, derece cinsinden açı almanın arkasındaki temel matematik şöyledir:

angle = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi;

* 180 / math.pi;Radyandan dereceye dönüştürür.


3
Üretilen açının atan2koordinat sisteminin + x sağ ve + y yukarı olduğunu varsaydığını unutmayın . Seninki aşağıya inerse, açıyı reddetmen gerekecek. Ayrıca, açı 0 olduğunda nesnenin (1, 0) yönüne (sağ) bakacağını varsayar. Farklı bir yöne bakarsa, açıyı dengelemeniz gerekir. Cevabım burada nasıl yapılacağını açıklıyor.
Nicol Bolas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.