给定一个以度为单位的角度,如何使用 x 和 y 找到行进线的逻辑? (数学困境)
我正在 HTML5 画布上制作一个简单的游戏,它涉及驾驶一辆小汽车。
向上箭头移动汽车,左右箭头控制汽车。
我已经对旋转进行了排序,但现在它需要在按住向上键时根据其所处的角度移动其 x 和 y 位置。
示例:
角度为0时,向上箭头只会影响y坐标。
角度为 45,向上箭头将以相同的速度影响 x 和 y 坐标。
如果角度是 32,我可以使用什么逻辑?
I am making a simple game in HTML5 canvas, it involves driving a little car.
The up arrow moves the car, the left and right arrow steers it.
I have rotation sorted, but now it needs to move its x and y position when holding the up key, based on what angle it is at.
Example:
Angle is 0, the up arrow will only affect the y coordinate.
Angle is 45, the up arrow will affect both x and y coordinates at an equal pace.
What logic can I use if the angle is say, 32?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以尝试像这样的
快速示例,角度只是在每个循环中增加。
http://jsfiddle.net/j5U5h/5/
角度 0 向上,就像您在最初的问题中一样。
这是修改后的 jsfiddle,因此 0 角使您向右移动。
http://jsfiddle.net/j5U5h/7/
要使 0 最初向右移动,只需更改为:
You could try something like this
Quick example, angle is just incremented every loop.
http://jsfiddle.net/j5U5h/5/
Angle 0 is up like you have in your initial question.
Here is the jsfiddle modified so the angle of 0 moves you to the right.
http://jsfiddle.net/j5U5h/7/
To make 0 go to the right initially just change to this,
您真的是说 90 使两个轴均等地移动吗?在我看来,应该是 45,两个轴均等地移动。
如果 45 同等地移动两个轴:
如果 90 同等地移动两个轴:
Did you really mean that 90 moves both axes equally? It seems to me that it should be 45 moves both axes equally.
if 45 moves both axes equally:
if 90 moves both axes equally: