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