|
05-02-09 / 23:46 : Cappuccino : animer TextField avec CoreAnimation (cjed) | Un exemple d'animation d'un CPTextField avec CoreAnimation est disponible ici (code source, réalisé mi-décembre). Il utilise la classe CPPropertyAnimation proposée par Nicholas Small.
Le texte est initiallement tronqué (requiert une zone d'affichage plus grande que la taille initiale de la vue) mais est correctement réparti sur plusieurs lignes auparavant. Un clic sur la vue démarre l'animation de la propriété, et le texte s'adapte aux nouvelles dimensions de la vue au fur et à mesure qu'elle s'agrandit. Une second clic lance le processus inverse. Pour cette animation (mode explicite) on passe uniquement la taille initiale et finale de la vue (propriété animée) et la durée souhaitée de l'animation. CoreAnimation calcule les images intermédiaires (commandes d'affichage Quartz) à partir des valeurs de taille incrémentées renvoyées par CPPropertyAnimation.
Il s'agit d'un proof of concept (pas de design des vues, formes et couleurs basiques pour voir plus facilement la zone animée). Il servira de base à la prochaine version du site, qui utilisera les fenêtres et vues avancées de Cappuccino (propose des fenêtres au look Cocoa, avec live dragging, composition et ombrage dynamique - grâce à une implémentation de Quartz en javascript -, que l'on peut combiner avec le support - basique - de CoreAnimation).
Cependant puisque l'application est du javascript, CoreAnimation ne peut pas bénéficier ici de l'accélération de la carte graphique (point important pour CoreAnimation sur OSX - voir l'utilisation intensive sur iPhone), qui permet normalement un empilement de milliers de layers sans impact sur les performances. | | Commentaires | The Cappuccino implementation of Core Animation is indeed based on Canvas for Safari/Firefox/Opera, and VML for IE. Support for CSS animation and transforms will be added later when available. (posté le 08/02/09 à 22:06 par cjed) | Poster un commentaire | |
|