Nie mogę wymyślić, jak korzystać z CATransform3DMakeRotation()
. Czy ktoś może mi powiedzieć, jak z niego korzystać?Jak używać CATransform3DMakeRotation?
Myślę, że pierwszym parametrem jest kąt, prawda? Ale jakie są pozostałe trzy?
Nie mogę wymyślić, jak korzystać z CATransform3DMakeRotation()
. Czy ktoś może mi powiedzieć, jak z niego korzystać?Jak używać CATransform3DMakeRotation?
Myślę, że pierwszym parametrem jest kąt, prawda? Ale jakie są pozostałe trzy?
Pierwszy to kąt w radianach, pozostałe 3 parametry to oś (x, y, z). Tak na przykład, jeśli chcesz, aby obrócić o 180 stopni wokół osi Z po prostu wywołać funkcję tak:
myView.layer.transform = CATransform3DMakeRotation(M_PI, 0.0, 0.0, 1.0);
i zastosować wynik właściwości transform widoku, który chcesz obrócić.
Reprezentują oś, wokół której ma się obracać. Użyj 0,0,1, aby obrócić w płaszczyźnie ekranu.
Prawdopodobnie okaże się to przydatne podczas korzystania radiany:
CGFloat DegreesToRadians(CGFloat degrees)
{
return degrees * M_PI/180;
};
CGFloat RadiansToDegrees(CGFloat radians)
{
return radians * 180/M_PI;
};
Patrz także Core Animation Funkcja Odniesienie do definicji funkcji: http://developer.apple.com/library/mac/documentation /Cocoa/Reference/CoreAnimation_functions/Reference/reference.html#//apple_ref/c/func/CATransform3DMakeRotation –
więc po prostu ustawiam kąt i umieszczam 1.0 na x, y lub, z, którego chcę użyć? czy to zawsze 1.0? –
@Dan - Nie, to nie zawsze 1.0 dla osi. Składniki X, Y i Z definiują oś, wokół której ma miejsce obrót. Ustawienie 1.0 dla komponentu i pozostawienie drugiego na 0.0, definiuje obrót wokół osi X, Y lub Z, ale można obracać wokół dowolnego dowolnego kierunku. Pozwala to manipulować widokami i warstwami w prawdziwie trójwymiarowy sposób. –