2015-07-12 74 views
1

我正在开发像泡泡射击游戏一样的游戏,并且需要实现从垂直墙壁上反弹的球。我有以下输入:在弧度{left: 382, right: 378} 如何计算与墙壁相撞的球的坐标?

  • 触发角:

    1. 气泡的起始位置1.34
    2. 游戏板尺寸:{width: 760, height: 620}。气泡的
    3. 尺寸均{width: 44px, height: 44px}

    我有两个壁气泡的左侧和气泡的右侧。

    我怎么能计算泡沫的圆心坐标来阻止它上相撞,左,右墙?

    enter image description here

  • +0

    三个重要项目是从您的输入数据丢失。泡沫的大小和形状是什么?角度0是什么方向?从0开始是顺时针还是逆时针? –

    +0

    我已更新过该尺寸的帖子。如果角度为0,我不认为吃方向,我认为我需要设置最小角度。 – Erik

    +0

    角弧度1.34意味着什么,如果你不知道在哪里角0,或哪个方向(顺时针或逆时针)的角度在 –

    回答

    0

    如果用于气泡的尺寸是44x44,我假设这意味着边界框是大小(因为不测量与宽度和高度圆)。

    如果是这样的话,比你有类似

    box

    这意味着,该圆的直径为44px,这意味着圆的半径是的22px。假设墙与圆相切,从墙到圆心的距离应为1r或22px。

    如果你从边框的左上角算起,你要的22px添加到x和y坐标,这将让你的中心坐标。

    +0

    好吧,但我怎么能算'X,y',我应该停止泡沫http://buildanhtml5game.com/?page_id=20? – Erik

    +0

    我不知道。这取决于你的坐标系是什么。如果气泡的位置取决于其左上角的位置,则要停止左壁的气泡0px和右壁的44px。如果它来自中心,则希望从任一方向停止22px。 –

    +0

    我的问题是我不明白如何计算顶部坐标。请查看游戏http://buildanhtml5game.com/?page_id=20。现在泡沫不会停在墙上。我需要计算'top'和'left'坐标来将它停在墙上的正确位置 – Erik