Stage Depth

Crée le : mercredi 4 décembre 2002 22:05:40
Dernière révision : samedi 18 décembre 2004 21:44:50

Dimanche 22 Septembre 2002

Développée au départ pour permettre de simuler le gestionnaire d'évement utilisé par Flash MX lorsqu'un clip est utilisé en tant que bouton, cette classe permet de trier une liste de Movie Clips qu'ils soient imbriqués les uns dans les autres sur le même niveau de profondeur ou non. En clair, quelque soit leur path, la classe permet de connaitre la profondeur du clip sur la scéne par rapport à tous les autres de la liste.

Il s'agit donc d'utiliser un simple tableau donc chaque élément est une référence pointant vers chacun des clips dont on veut connaitre la profondeur.
En général quand cette classe devient nécessaire cette liste existe déjà est il n'est nul besoin de générer une liste spécifiquement pour l'utilisation des fonctions de la classe.

stageDepthCLASS.getOrder()
Retourne une copie du tableau des movie clips avec ses index ordonnés en fonction de l'ordre de profondeur de chaque clip sur la scéne, le tableau d'origine fourni en arguments n'est donc en rien modifié.
L'algorithme de tri a été optimisé pour trier le plus rapidement possible un grand nombre de clips lorsque cela se révèle nécessaire. Le fichier source donne le temps mis par la fonction pour trier 72 movie clips. Il est de 62 millisecondes sur un 1.8Ghz. Cette efficacité sur la rapidité du tri est le principal atout de cette fonction.
stageDepthCLASS.getPrior()
Retourne le clip dont la profondeur est la plus élevée dans la liste fournie en arguments. Il est ainsi facile de savoir quel est le clip le premier accessible par la souris ou à la vue de l'utilisateur pour utiliser sa surface en tant que surface de hitTest lorsqu'il n'est pas possible d'utiliser le gestionnaire d'évemenents de clip. LA méthode peut se révéler utile pour toute application graphique où connaitre la profondeur à l'affichage des éléments dynamiques est essentiel au bon rendu de l'animation.
La classe s'utilise principalement pour étendre des classes qui gérent des clips du domaine public, et donc interdisent d'utiliser le gestionnaire d'évenement du comportement bouton de ces dits clips.
En effet un clip en accés public ne doit se voir surchargé d'aucune méthode interne à une classe personelle, surtout comme celles utilisées par les comportements boutons du clip. Or en connaissant le niveau de profondeur réel d'un clip sur la scéne, il est aisé de reproduire làl'identique le comportment bouton d'un clip en utilisant uniquement la méthode MovieClip.hitest(). C'est d'ailleurs l'exemple d'utilisation que je réserves à cette classe dans un proche futur.
Implémentations futures:
Support sur _level multiple
Support intégré à la classe de fonctions de gestion de boutons par MovieClip.hitest()

Téléchargements

Télécharger le fichier .FLA
Version :
MX
Fonctions utilisées :
Array.sortOn();
MovieClip.getDepth();
Components:
Aucun
Prototypes:
Intégrés
  wordpress rss rss français rss english xhtml 1.1 css 2.0 wdg