【问题标题】:canvas ball deflect from ball drawn with arc画布球偏离用弧线绘制的球
【发布时间】:2012-10-08 22:19:11
【问题描述】:

我有两个球(圆圈)在我的 HTML 中飞来飞去。如果它们聚在一起,它们应该偏转并飞回另一个方向。我用圆弧画了圆,我有 x,y 坐标和半径的变量。

var xGreen;
var yGreen;
var rGreen;
var xOrange;
var yOrange;
var rOrange;

因为它们应该移动,所以我只是改变了 x 和 y 的位置:

xGreen += xSpeed;
yGreen += ySpeed;
xOrange += xSpeed;
yOrange += ySpeed;

那么我怎样才能知道圆圈何时发生碰撞?

【问题讨论】:

  • 您可以使用基于每个圆的中心及其半径的距离公式:distance = Math.sqrt(Math.pow(xG-xO,2)+Math.pow(yG-yO,2))。然后,您可以通过检查该距离是否小于每个球的半径之和来判断它们是否发生碰撞。
  • 哇,谢谢,效果很好!我不知道 Math.sqrt!如何将评论标记为正确答案?

标签: javascript canvas html5-video html5-canvas


【解决方案1】:

distance = Math.sqrt(Math.pow(xG-xO,2)+Math.pow(yG-yO,2))

然后您可以通过检查该距离是否小于每个球的半径之和来判断它们是否发生碰撞。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多