Je dois animer l'alpha d'un élément qui est calculé hors ligne. Parlons de l'animation alpha simple. Alpha est nul, alpha passe à 1, reste un certain temps et remonte à zéro.Comment créer une animation simplifiée bezier/cubique pour le rendu hors ligne?
Quelque chose comme le graphique ci-dessous:
Les animations auront des moments différents. J'ai besoin de quelque chose que je peux donner le temps (t) et obtenir la valeur (v).
Cette animation doit être mis dans une classe à base CIFilter
et utilisé pour animer ce filtre et parce que le résultat de ce filtre sera calculé hors ligne il n'y a pas CALayer
pour l'ajouter, donc en utilisant CAKeyframeAnimation
ou CABasicAnimation
est hors de question .
Si je pouvais utiliser un CALayer, je ferais ceci:
CABasicAnimation* fadeInOut = [CABasicAnimation animation];
fadeInOut.keyPath = @"filters.myFilter.inputRadius";
fadeInOut.fromValue = @(0);
fadeInOut.toValue = @(10);
fadeInOut.duration = 0.2f;
fadeInOut.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut];
fadeInOut.autoreverses = YES;
Mais le problème serait cette ligne ... il n'y a pas de couche d'ajouter l'animation. Comme je l'ai dit je suis dans une classe CIFilter
!
[self.layer addAnimation:fadeInOut forKey:nil]; // NO WAY!
Alors, ma question est: est-il quelque chose qui peut me donner la valeur du temps pour ce genre de courbe pour l'intervalle de temps je définis pour l'animation?
Veuillez arrêter de balises inutiles toutes vos questions avec l'iPhone. S'il vous plaît lire la description des étiquettes pour quand il devrait être utilisé. Merci. – rmaddy
Notez que la courbe que vous affichez ne peut pas être rendue avec une seule courbe cubique. Vous avez besoin de plus d'une courbe, ou - parce que c'est une courbe de fonction normale, pas une courbe qui se répète sur elle-même - vous devriez juste modéliser cela avec une vieille fonction 'y = (fx)'. Les courbes de Bézier sont inutiles et contre-productives pour ce type de fonction. –
@ Mike'Pomax'Kamermans - merci pour cela, j'ai utilisé l'idée lisse et il fonctionne maintenant comme de la soie. Merci et joyeux Noël! – SpaceDog