以下是我试图绘制圆圈的一段代码,但是我的x值会打印为常量值。这很可能非常非常简单。预先感谢您的帮助。在iPhone中帮助绘制圆圈
int sides = 100;
int radius = 200;
int centerX = 100;
int centerY = 100;
CGFloat red[4] = {1.0f, 0.0f, 0.0f, 1.0f};
CGContextSetStrokeColor(context, red);
CGContextBeginPath(context);
CGContextMoveToPoint(context, 0, 0);
int i = 0;
for(i = 0; i <= sides; i++)
{
CGFloat pointRatio = i/sides;
CGFloat xSteps = cos(pointRatio * 2 * M_PI);
CGFloat ySteps = sin(pointRatio * 2 * M_PI);
CGFloat pointX = centerX + xSteps * radius;
CGFloat pointY = centerY + ySteps * radius;
NSLog(@"%i", pointX);
CGContextAddLineToPoint(context, pointX, pointY);
}
CGContextStrokePath(context);
您也可以将分隔符的一边或另一边转换为浮点类型;例如'i /(CGFloat)sides'。但是,'CGPathAddEllipseInRect'是正确的方法;密谋自己是一个艰难的方式。 – 2010-08-05 20:27:04
@彼得,这两种分裂方式有什么区别吗?或者编译器最终使它们的指令相同? – Vladimir 2010-08-05 20:46:38
你是一个乘法和一个分裂;我的是一个师。编译器可能会非常好地优化乘法,但我宁愿不为它编写代码。 – 2010-08-05 20:51:24