接上面:VC A星算法求助贴,
接上面:
1、在View类里面调用方法
先在XXXXView.cpp里面定义两个全局变量:
int wid = 10;
int nii = 0;
2、然后在XXXXView.h里面定义两个XXXXView类的变量:
public:
CAstar m_star;
CPoint p1,p2;
3、然后在XXXXView的鼠标点击事件里面这样使用,就可以了,
void CMfcAs2View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(nii%2==0)
{
p1 = point;
m_star.DrawSelectDot(GetDC(),point.x/wid*wid,point.y/wid*wid);
}
else
{
p2 = point;
m_star.DrawSelectDot(GetDC(),point.x/wid*wid,point.y/wid*wid);
NODE * path = m_star.FindPath(p1.x/wid,p1.y/wid,p2.x/wid,p2.y/wid);
m_star.DrawPath(GetDC(),path);
p1 = p2;
}
nii++;
CView::OnLButtonDown(nFlags, point);
}
跪求高手帮忙调试。谢谢!
加msn:zpflash@hotmail.com交流!