// DrawNodeTest DrawNodeTest::DrawNodeTest() { CCSize s = CCDirector::sharedDirector()->getWinSize(); CCDrawNode *draw = CCDrawNode::create(); addChild(draw, 10); // Draw 10 circles for( int i=0; i < 10; i++) { draw->drawDot(ccp(s.width/2, s.height/2), 10*(10-i), ccc4f(CCRAScutOM_0_1(), CCRAScutOM_0_1(), CCRAScutOM_0_1(), 1)); } // Draw polygons CCPoint points[] = { CCPoint(s.height/4,0), CCPoint(s.width,s.height/5), CCPoint(s.width/3*2,s.height) }; draw->drawPolygon(points, sizeof(points)/sizeof(points[0]), ccc4f(1,0,0,0.5), 4, ccc4f(0,0,1,1)); // star poly (triggers buggs) { const float o=80; const float w=20; const float h=50; CCPoint star[] = { CCPoint(o+w,o-h), CCPoint(o+w*2, o), // lower spike CCPoint(o + w*2 + h, o+w ), CCPoint(o + w*2, o+w*2), // right spike // {o +w, o+w*2+h}, {o,o+w*2}, // top spike // {o -h, o+w}, {o,o}, // left spike }; draw->drawPolygon(star, sizeof(star)/sizeof(star[0]), ccc4f(1,0,0,0.5), 1, ccc4f(0,0,1,1)); } // star poly (doesn't trigger bug... order is important un tesselation is supported. { const float o=180; const float w=20; const float h=50; CCPoint star[] = { CCPoint(o,o), CCPoint(o+w,o-h), CCPoint(o+w*2, o), // lower spike CCPoint(o + w*2 + h, o+w ), CCPoint(o + w*2, o+w*2), // right spike CCPoint(o +w, o+w*2+h), CCPoint(o,o+w*2), // top spike CCPoint(o -h, o+w), // left spike }; draw->drawPolygon(star, sizeof(star)/sizeof(star[0]), ccc4f(1,0,0,0.5), 1, ccc4f(0,0,1,1)); } // Draw segment draw->drawSegment(ccp(20,s.height), ccp(20,s.height/2), 10, ccc4f(0, 1, 0, 1)); draw->drawSegment(ccp(10,s.height/2), ccp(s.width/2, s.height/2), 40, ccc4f(1, 0, 1, 0.5)); }
void UiEditorPanel::drawFrame() { CCSize size = CCSize(1000, 800); CCPoint leftBottom(0, 0); CCPoint leftTop(0, size.height); CCPoint rightBottom(size.width, 0); CCPoint rightTop(size.width, size.height); CCDrawNode *drawNode = CCDrawNode::create(); addChild(drawNode); drawNode->drawSegment(leftBottom, rightBottom, 0.5f, ccc4f(0.5f, 0.5f, 0.5f, 1)); drawNode->drawSegment(rightBottom, rightTop, 0.5f, ccc4f(0.5f, 0.5f, 0.5f, 1)); drawNode->drawSegment(rightTop, leftTop, 0.5f, ccc4f(0.5f, 0.5f, 0.5f, 1)); drawNode->drawSegment(leftTop, leftBottom, 0.5f, ccc4f(0.5f, 0.5f, 0.5f, 1)); auto winSize = CCDirector::sharedDirector()->getWinSize(); auto offset = ccp((winSize.width - size.width) * 0.5f, (winSize.height - size.height) * 0.5f); drawNode->setPosition(offset); }