我目前有两个物体,一个是五边形,一个是圆形。我想检查他们是否在接触,如果是,我希望他们做点什么。
我有我的圆函数,我可以在其中指定中心、高度和宽度(这样我就可以根据需要绘制一个椭圆形) 和我的五边形,我传入 5 个点,它会填满它,所以它是一个五边形
我最初在想,如果我找出这两个区域并以某种方式对它做点什么,但我似乎无法完全理解它
有什么建议吗?
下面是我的圆圈和五边形的制作方法
Polygon(m_iCurrentScreenX, m_iCurrentScreenY - (m_iDrawHeight*2),
m_iCurrentScreenX + m_iDrawWidth, m_iCurrentScreenY - (m_iDrawHeight),
m_iCurrentScreenX + (m_iDrawWidth / 2), m_iCurrentScreenY + (m_iDrawHeight/2),
m_iCurrentScreenX - (m_iDrawWidth / 2), m_iCurrentScreenY + (m_iDrawHeight/2),
m_iCurrentScreenX - m_iDrawWidth, m_iCurrentScreenY - (m_iDrawHeight))
第一组坐标是顶部,第二个和最后一个是左右,中间两个是底部最后两个点
和
Oval(
m_iCurrentScreenX, m_iCurrentScreenY,
m_iCurrentScreenX + m_iDrawWidth - 1,
m_iCurrentScreenY + m_iDrawHeight - 1)
你需要的是圆和凸之间的碰撞检测。
参见,例如:http://www.jeffreythompson.org/collision-detection/poly-circle.php