2011-03-04 20 views
17

2D uzayda dönebilen ve dönme açısına göre hareket eden bir nesneyim var mı?X Y hareketinin dönüş açısına göre hesaplanması?

Örneğin

: açı 45 ise açısı 0 (yukarı bakacak) ise

  • , daha sonra on_timer bu X ile Y 1 ve 0 hareket etmelidir

  • , o zaman hareket etmelidir X ile Y 1 ve 1

  • ise 135 dereceye işaret ise

  • X

    ile 90 derece, daha sonra Y, 0 ve 1, işaret daha sonra Y ve +1 tarafından X, vb.

Bunu hesaplamak için herhangi bir işlev biliyor musunuz?

+0

Bu iyi bir soru. – GeneCode

cevap

26

iyi, farklı açılar için farklı hızlarda hareket gibi görünüyor.

0 degress (düz yukarı) için 1 ile hareket ettirilir, ancak 45 cm (1^2 + 1^2) = 1,41.

Sana Sin ve Cos bakmak istiyorum düşünüyorum.

X += Speed * Math.Cos(angle); 
Y += speed * Math.Sin(angle); 

Selamlar Gert-Jan

+5

Teşekkürler, işe yarıyor! :) çift radyan = (Math.PI/180) * (this.orient - 90); this.CorX = Convert.ToInt16 (this.CorX + 15 * Math.Cos (radians)); this.CorY = Convert.ToInt16 (this.CorY + 15 * Math.Sin (radyan)); – Rob

İlgili konular