CCDrawNode* frame = CCDrawNode::create(); addChild(frame, 2); CCSize s = CCDirector::sharedDirector()->getWinSize(); CCPoint rectangle; // test 1 rectangle = ccp(0, 0); rectangle = ccp(s.width, 0); rectangle = ccp(s.width, 200); rectangle = ccp(150, 200); rectangle = ccp(150, s.height); rectangle = ccp(0, s.height); frame->drawPolygon(rectangle, 6, ccc4f(1, 0.5, 0.5, 0.5), 1, ccc4f(1, 0, 0, 1)); // test 2 rectangle = ccp(0, 0); rectangle = ccp(s.width, 0); rectangle = ccp(s.width, 200); rectangle = ccp(150, 200); rectangle = ccp(150, s.height); rectangle = ccp(0, s.height); frame->drawPolygon(rectangle, 6, ccc4f(1, 1, 0, 0.5), 1, ccc4f(1, 0, 0, 1)); ``` 红色区域的边框 橙色区域是正常显示区域 露出来的黄色区域就是异常显示区了。 代码中test1显示没有什么问题, test2中的点跟test1中的点是“一样”的,只是“起点”不同,但是显示就已经异常了 看起来是polygon的绘制是直接绘制三角形,而没有做凹多边形检测导致的。 请问官方会修改这个问题吗? 有没有大神能帮忙解决这个问题?
1赞
吐槽下编辑器,居然没法预览,反正我是不会承认是我浏览器有问题的:15:
很显然不会去修复这个bug 一直都有这个bug 只能自己想办法分割一下成凸多边形画出来 分割成三角形的比较多 不过我没找到像样的算法
— Begin quote from ____
引用第2楼zngame于2014-08-18 16:22发表的 :
很显然不会去修复这个bug 一直都有这个bug只能自己想办法分割一下成凸多边形画出来 分割成三角形的比较多 不过我没找到像样的算法 http://www.cocoachina.com/bbs/job.php?action=topost&tid=223234&pid=1032276
— End quote
我找了一个分割的算法
http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml
但是分割了之后画出来,很多莫名其妙的毛刺
求大神指点!
请问楼主找到解决方案了吗
这么久了还没修复这么明显的bug,好垃圾哦。。