我正在使用脚本根据其半径在圆内生成随机粒子。接下来我想做的是检测粒子何时与圆圈边缘碰撞。
我猜我需要使用 for 循环将圆周的坐标存储在一个数组中,但我不确定执行此操作需要什么数学。
这是我从下面的答案中得到的。但它似乎不起作用:
变量 par 是一个随圆移动的粒子,发射器包含 x,y,圆心的位置,而道具高度包含半径。
var fromC = Math.sqrt( (par.y-(emitters[i].y ) )^2 + (par.x- (emitters[i].x))^2);
if(fromC >= emitters[i].height){
par.vx *= -1;
par.vy *= -1;
}
提前致谢。