2
A
回答
6
x += sin(rotation) * speed;
y += cos(rotation) * speed;
但它取決於你的旋轉方向。此代碼將在0度時向上(北)旋轉,順時針方向移動。
+0
0度的北方不是標準。在數學中,0度總是在右邊,逆時針增加。 – 2010-03-15 17:20:28
+1
這是一個味道的問題。 – Pindatjuh 2010-03-15 17:22:36
1
使用三角法。
你有角度和運動的長度(這是你的斜邊),所以你應該能夠使用sin或cos來計算所需的x和y的運動量。
8
1
只是爲了澄清,因爲這是C#,你會想這樣做
double radians = (Math.PI/180)*angleInDegrees;
x += speed * Math.Cos(radians);
y += speed * Math.Sin(radians);
正如其他海報所說,這是基於使用三角申請一個旋轉的速度矢量(在此情況下,0度矢量指向右側)。
相關問題
- 1. 2D矢量到3D矢量
- 2. 2D矢量vs 1D矢量
- 3. 2D矢量push_back
- 4. 將2D矢量2D QVector C++
- 5. 如何讓點沿着矢量移動?
- 6. 該代碼如何從兩個2D矢量的叉積中檢索2D矢量?
- 7. 2D矢量檢查
- 8. 求和2D矢量
- 9. 2D矢量乘法
- 10. 在2D矢量內排序矢量
- 11. 將1D矢量轉換爲2D矢量
- 12. 從2D矢量中分解矢量
- 13. 如何在C++中查找2D矢量中的矢量?
- 14. 如何讓2D矢量在AS3
- 15. 如何初始化2D矢量
- 16. C++如何製作2D矢量函數?
- 17. 如何矢量化3x3 2D卷積?
- 18. 2D矢量類,如何引用
- 19. 基於另一個2D矢量排序2D矢量
- 20. 分段故障:從給定的2D矢量2D矢量
- 21. 用glm旋轉2D矢量
- 22. 矢量,點,戰列艦,2D
- 23. C++ 2D矢量排序
- 24. C++輸出2D矢量
- 25. PlayN的2D矢量類?
- 26. 2d矢量初始化
- 27. 插入到2D矢量中
- 28. 2d矩陣到矢量
- 29. 用C++重塑2D矢量
- 30. C++ 2D矢量和操作
我建議你澄清你的問題,因爲它根本不清楚你在說什麼。 – Will 2010-03-15 17:15:28
他有一個面向任何方向(以度爲單位)的對象,並且他希望將對象向着它所面對的方向向前移動。現在他有移動鍵只是爲了加減x和y – Pyrolistical 2010-03-15 17:18:59
@pyro這就是我的想法,但我不確定編輯他的問題...... – Will 2010-03-15 17:21:16