📜  java脚本或js圆碰撞 - Javascript(1)

📅  最后修改于: 2023-12-03 15:32:05.863000             🧑  作者: Mango

Javascript圆碰撞

在游戏开发、动画制作等场景中,我们经常会需要检测圆形是否相碰撞。以下是一个简单的Javascript圆碰撞实现,可以供程序员们参考。

概述

为了检测两个圆是否碰撞,我们需要比较它们之间的距离和它们的半径之和。如果距离小于或等于半径之和,则说明圆相碰撞。

实现

以下是一个实现圆碰撞检测的Javascript函数:

function circleCollision(c1, c2) {
  //计算两个圆心之间的距离
  const distance = Math.sqrt((c1.x - c2.x) ** 2 + (c1.y - c2.y) ** 2);
  
  //如果距离小于或等于半径之和,则说明圆碰撞
  if (distance <= c1.radius + c2.radius) {
    return true;
  }
  
  //否则,两个圆不碰撞
  return false;
}

该函数接收两个圆对象 c1c2,它们都必须包含以下属性:

  • x:圆心的x坐标
  • y:圆心的y坐标
  • radius:圆的半径

如果圆碰撞,函数将返回 true。否则,将返回 false

示例

以下是一个演示圆碰撞检测的示例代码:

//创建两个圆
const circle1 = { x: 50, y: 50, radius: 30 };
const circle2 = { x: 100, y: 100, radius: 50 };

//检测两个圆是否碰撞
if (circleCollision(circle1, circle2)) {
  console.log("圆碰撞!");
} else {
  console.log("圆没有碰撞。");
}

以上代码将打印 圆碰撞!,因为两个圆的距离小于它们的半径之和。

总结

以上是一个简单的Javascript圆碰撞实现。希望这篇介绍可以帮助程序员们更好地理解和实现圆碰撞检测。