Ésta ha sido la conducción me nueces ...¿Fuerza la dirección de rotación de CALayer?
Teniendo en cuenta "plano" es una CALayer, puedo rotar en el eje X:
plane.transform = CATransform3DMakeRotation(180 * M_PI/180.0f, 1.0f, 0.0f, 0.0f);
y esto hace que gire hacia la derecha, lo cual es perfecto.
Ahora, en algún momento en el tiempo, quiero que vuelva a 0 grados, así que uso:
plane.transform = CATransform3DMakeRotation(0 * M_PI/180.0f, 1.0f, 0.0f, 0.0f);
La cosa es que ... lo hace en sentido contrario a las agujas del reloj, lo cual no es lo que yo quiero :(
Supongo que utiliza la ruta de rotación más corta, pero incluso si digo que vaya a 360 grados en su lugar, cuando está hecho y le digo que reinicie la animación, comienza desde 360 para ir a 180, y va hacia atrás en lugar de la dirección correcta.
¿Hay alguna manera de solucionar eso?
lo que he hecho en Actionscript sería:
if (plane.rotationX == 360) plane.rotationX = 0;
y sería reanudar muy bien, pero si lo hago que el uso de CATransform3DMakeRotation ambas transformaciones chocan entre sí, debido a la animación (creo) y se ensucia.
¡Cualquier ayuda sería muy apreciada!
Gracias
veo esta es una decisión difícil :( – Andre