我想要得到圆弧的百分比半径(圆形)。计算点击中心到圆点的百分比
想法是,在画布上的点击事件中,找到与点击点发生碰撞的元素。我做到了,找到碰撞的元素没有问题。
Bu我想计算一个元素的类型是否是圆形,计算从圆弧中心到外部的碰撞百分比。
在下面的代码是用于碰撞检测。
if(element.type == "circle") { // circle detection
let dx = x - element.left,
dy = y - element.top,
dist = Math.abs(Math.sqrt(dx * dx + dy * dy));
if (dist <= element.width/2) {
collision = {
hitTo: // calculate percentage???,
object: element
};
}
}
我不知道该怎么做。你能帮我吗?
什么是X和Y?点击事件的位置? –
是的。从全局偏移(画布) –
你能解释为什么你要从左上角计算dist吗?它不应该来自圆心吗? –