0
我對Quartz 2D相當陌生。石英2D路徑旋轉
想象下面的場景:
你有一個圓形的迷你地圖視圖。 我正在繪製三角形(現在弧不重要)在地圖上。這個形狀代表可見區域。
當用戶改變方向時,我需要讓三角形沿着迷你地圖旋轉。
目前這究竟是怎麼路徑正在繪製:
CGAffineTransform transform = CGAffineTransformMakeRotation(angleInRadians);
CGPath visibleAreaPath = CGPathCreateMutable();
CGPathMoveToPoint(visibleAreaPath, &transform, miniMapCenter.x, miniMapCenter.y);
CGPathAddLineToPoint(visibleAreaPath, &transform, 18.0, 8.0);
CGPathAddLineToPoint(visibleAreaPath, &transform, 66.0, 8.0);
CGPathCloseSubpath(visibleAreaPath);
我再畫使用CAShapeLayer像這樣的路徑:
CALayer *rootLayer = [visibleAreaView layer];
visibleAreaShape = [CAShapeLayer layer];
[visibleAreaShape setFillColor:[UIColor colorWithHue:0.584 saturation:0.8 brightness:0.9 alpha:0.6].CGColor];
[visibleAreaShape setFillRule:kCAFillRuleNonZero];
[visibleAreaShape setAnchorPoint:CGPointMake(0.5, 0.5)];
[rootLayer addSublayer:visibleAreaShape];
[visibleAreaShape setPath:visibleAreaPath];
的路徑正在旋轉,而不是基於給定起源。 請記住,設置圖層的錨點並不能幫助我,因爲我想要的是旋轉路徑(最終我甚至不需要顯示它,因爲我將使用它來確定哪些點可見迷你地圖)。
有關如何完成此任何想法? 謝謝。
你的意思是路徑總是相對於superview旋轉到相同的角度?換句話說,輪換不是累積的? – TechZen 2009-11-18 16:28:29