Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool Shape::init()
- {
- if (!DrawNode::init())
- {
- return false;
- }
- Vec2 verts[364];
- verts[0] = Vec2(-width / 2, -height / 2 + cornerRadius);
- for (int i = 0; i < 90; i++)
- {
- verts[1+i] = Vec2(verts[0].x + cornerRadius + cornerRadius * cos((i + 180) * M_PI / 180), verts[0].y + cornerRadius * sin((i + 180) * M_PI / 180));
- }
- verts[91] = Vec2(width / 2 - cornerRadius, -height / 2);
- for (int i = 0; i < 90; i++)
- {
- verts[92+i] = Vec2(verts[91].x + cornerRadius * cos((i + 270) * M_PI / 180), verts[91].y + cornerRadius + cornerRadius * sin((i + 270) * M_PI / 180));
- }
- verts[182] = Vec2(width / 2, height / 2 - cornerRadius);
- for (int i = 0; i < 90; i++)
- {
- verts[183+i] = Vec2(verts[182].x - cornerRadius + cornerRadius * cos(i * M_PI / 180), verts[182].y + cornerRadius * sin(i * M_PI / 180));
- }
- verts[273] = Vec2(-width / 2 + cornerRadius, height / 2);
- for (int i = 0; i < 90; i++)
- {
- verts[274+i] = Vec2(verts[273].x + cornerRadius * cos((i + 90) * M_PI / 180), verts[273].y - cornerRadius + cornerRadius * sin((i + 90) * M_PI / 180));
- }
- this->drawPolygon(verts, 364, Color4F(color), borderWidth / 2, Color4F(borderColor));
- this->setContentSize(Size(width, height));
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement