|
这是我做的一个小工程代码,中间有一个神奇的bug,画点必须同时画两个才能显示。
这个工程的功能是画二维图,目前的功能使用时无bug。
一次点击,选点,第二次确定线。点击现有的线会把线处于被点选状态,线的端点及中点会出现点,此时点击辅助点,可重新设定线的位置。
bug的代码在Line.cpp 198行,如下:- void Line::drawAssistantPoints()
- {
- char name[30];
- for( int i=0 ; i<3 ; i++ )
- {
- sprintf( name , "vertex_%d_%s" , i , _name.c_str());
- _assistantPoints[i]->addDrawable( drawPoint((*_vertexesArray)[i]));
- _assistantPoints[i]->addDrawable( drawPoint( (*_vertexesArray)[(i+1)%3] ) );
- _assistantPoints[i]->setName(name);
- _group->addChild(_assistantPoints[i]);
- }
- }
复制代码 “_vertexesArray”保存辅助点的坐标,必须同时加两个点才会显示,或者再随意添加个可绘制的物体都能让辅助点正常显示。请大神帮帮我,处理了一周,也没搞掉这个bug |
-
-
code.rar
13.28 KB, 下载次数: 113, 下载积分: 威望 1
实现代码
|