我正在尝试在处理过程中创建鼠标悬停(或悬停)的简单效果。我只能在形状上做这种效果,比如矩形,椭圆等。但我无法弄清楚如何在文本对象上做到这一点。
例如,检测圆圈上的鼠标悬停:
if (sqrt(sq(x - mouseX) + sq(y - mouseX)) < diameter/2 ) {
return true;
} else {
return false;
}
效果将像更改文本颜色一样简单,以指示鼠标位于文本上方。
感谢任何帮助,谢谢!
答案 0 :(得分:1)
使用边界框,它只是一个围绕文本“绘制”的矩形。 (除了调试之外,该矩形通常不会被绘制。)
您可以使用textWidth()
函数及其朋友获取文本的边界框,您可以在the reference中阅读。
然后当你有那个边界框时,你可以使用你已经拥有的矩形的碰撞检测代码。
将来,请尝试发布MCVE,而不是发布已断开连接的代码段。