Sorununu anlamakta sorun Bir iPad uygulamasında, bir merkez noktasını (768, 512) ve yarıçapı 512 olan bir yay boyunca bir katmanı saat yönünün tersine hareket ettirmek istiyorum. Saatin saat 12'de başlamasını istiyorum. (ekranın sağ üst köşesi) ve saat 6 yönünde bitirin (sağ alt köşede).CGPathAddArc
sonra bir sürü ben
CGPoint origin = logo.layer.position;
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.calculationMode = kCAAnimationPaced;
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = YES;
CGMutablePathRef curvedPath = CGPathCreateMutable();
CGPathMoveToPoint(curvedPath, NULL, origin.x, origin.y);
CGPathAddArc(curvedPath, NULL, 768, 512, 512, -M_PI_2, M_PI_2, YES);
pathAnimation.path = curvedPath;
CGPathRelease(curvedPath);
pathAnimation.duration = 2;
[logo.layer addAnimation:pathAnimation forKey:@"curve"];
çalışma kodu var Ama sorun başlangıç açısı ve bitiş açısı parametresini anlayamıyorum olduğunu deneme yanılma ve-. Neden sırasıyla -M_PI_2 ve M_PI_2 kullanmalı ve saat yönünde YES?
Ben, böylece kod
CGPathAddArc(curvedPath, NULL, 768, 512, 512, -M_PI_2, M_PI_2, YES);
ben birden fazla yerde muhtemelen yanlış ve şans eseri doğru sonucu aldığım olmalıdır ben 270 derecelik saat yönünün tersine 90 derece nesneyi hareket ediyorum düşünüyorum.
beni düzeltin ve bana iki açı parametrelerini anlamasına yardımcı olun:
startAngle
The angle (in radians) from the horizontal that determines the starting point of the arc.
endAngle
The angle (in radians) from the horizontal that determines the ending point of the arc.
Teşekkür
Leo
baş aşağı y ekseniyle kafamı karıştırıyor. ayrıca, teşekkürler, bana yardımcı oldu :) – codrut