【问题标题】:How to make find the angle one object must rotate at to face another, JS HTML5 CANVAS如何找到一个对象必须旋转以面对另一个对象的角度,JS HTML5 CANVAS
【发布时间】:2013-02-23 10:27:31
【问题描述】:

好的,所以我有两个对象,一个玩家和一个光标。我有两个对象的位置,我只需要找到玩家必须旋转以面对光标的度数或弧度数。

我正在用 Javascript 制作这个游戏,并且游戏在画布中运行。所以我更喜欢在 Update() 或 Draw() 函数中放置一个代码来更新一个变量,我可以在每次调用 Draw() 函数时使用该变量来旋转我的播放器。

我想会有一些公式可以用于此,但我自己无法找到它,坦率地说,如果我有的话,我可能不知道该怎么做。所以,如果你们中的一个人能帮我解决这个问题,那就太棒了!

【问题讨论】:

    标签: javascript html canvas rotation


    【解决方案1】:

    好的,让我们假设以下内容:
    1)除了一个玩家(你知道他的位置)和一个光标(你知道他的位置)之外,你还知道玩家的当前轮换(我想你有一个人的自上而下的视图和你可以看到他面对的方向)。我假设这是因为您询问玩家必须旋转多远才能面对光标,这意味着玩家有旋转。如果玩家总是面向一个方向,而其他一切都围绕着他们旋转,同样的方法也可以,只是你不需要在最后减去玩家的旋转。
    2) 球员轮换相对于“右”(正 x 轴)。
    3) 球员轮换以弧度为单位。

    如果这是真的,那么您将执行以下操作:
    1)计算出从“右”到光标的旋转(如果你移动所有东西以使玩家位于原点)。为此,您需要执行 Math.atan2(cursor.y - player.y,cursor.x - player.x); - 这会给你以弧度为单位的角度。
    2) 从这个角度减去玩家的旋转。

    哒哒?

    【讨论】:

    • 不错的一个!祝你的游戏好运!
    猜你喜欢
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    相关资源
    最近更新 更多