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矢量/动态数组
- 4. 2D矢量push_back
- 5. 将2D矢量2D QVector C++
- 6. 2D矢量乘法
- 7. 在2D矢量内排序矢量
- 8. 将1D矢量转换为2D矢量
- 9. 从2D矢量中分解矢量
- 10. 如何在C++中查找2D矢量中的矢量?
- 11. 如何初始化2D矢量
- 12. 如何让2D矢量在AS3
- 13. 如何矢量化3x3 2D卷积?
- 14. 分段故障:从给定的2D矢量2D矢量
- 15. 基于另一个2D矢量排序2D矢量
- 16. 2d矩阵到矢量
- 17. 对于2D矢量编辑
- 18. PlayN的2D矢量类?
- 19. 插入到2D矢量中
- 20. C++ 2D矢量排序
- 21. C++输出2D矢量
- 22. C++ 2D矢量和操作
- 23. 如何在OpenGL中做2D动画?
- 24. 矢量阵列是否构成2D矢量?
- 25. 带矢量和速度的2D矢量数学
- 26. 防止矢量物品被移动
- 27. 如何在OpenGL中移动2D相机
- 28. 如何在2D游戏中移动NSImageView?
- 29. 如何获得AndEngine中移动体的速度和矢量?
- 30. 如何在矢量增长时执行移动语义?
我建议你澄清你的问题,因为它根本不清楚你在说什么。 – Will 2010-03-15 17:15:28
他有一个面向任何方向(以度为单位)的对象,并且他希望将对象向着它所面对的方向向前移动。现在他有移动键只是为了加减x和y – Pyrolistical 2010-03-15 17:18:59
@pyro这就是我的想法,但我不确定编辑他的问题...... – Will 2010-03-15 17:21:16