Récemment, j'ai entrepris une tâche plutôt ardue en créant une vidéo musicale interactive pour le populaire spectacle Ghost Whisperer. J'ai été amené tard dans le projet et j'ai été confronté à un fichier de création géant (quelque 5000+ images). Le programmeur précédent (qui faisait tout dans AS2) avait essentiellement intégré un FLV de deux minutes et demie sur la ligne de temps principal et à certains points de trame ajouterait des clips pour l'interactivité avec la fonctionnalité basique de clic de souris qui déclencherait ces clips pour lire d'autres clips avec quelques éléments flash et quelques éléments vidéo. (La version finale que j'ai créée peut être consultée ici http://www.gwghostmagic.com); Etant un pur phénomène, j'ai décidé de reconstruire le tout en AS3, abandonner complètement la ligne de temps et de charger plutôt dans mes éléments à l'exécution de sorte qu'au lieu de 5000 images j'avais une image et pour déclencher les actions ajoutées un événement Auditeur d'événement .ENTER_FRAME pour déclencher l'interactivité lorsque le fichier .swf chargé atteint certaines images. Du point de vue des programmeurs, cela rendait tout plus clair et plus facile à manipuler certaines actions. Le problème était, la chose a couru comme de la merde.Qui est le plus efficace, qui incorpore un fichier FLV ou compile un fichier FLV à un fichier SWF et le charge dynamiquement?
La version plus de 5 000 images chargée plus rapidement et fonctionnait plus facilement que ma version AS3. Ce qui m'amène à la question suivante: quand est-il préférable d'incorporer et d'écouler la ligne de temps plutôt que de courir d'un écouteur d'événement? Le flash est-il mieux adapté à la fonctionnalité de ligne de temps? Au départ, j'ai décidé de créer et de lancer un streaming .flv mais la synchronisation des actions sur le .flv était impossible car le .flv fonctionnait à 23,975 fps alors que mon film flash fonctionnait à 24 fps. Hélas j'ai été obligé de compiler un .swf avec le flv embarqué. Ce .swf a ensuite été chargé dans mon fichier principal .swf qui contenait toutes les fonctions et les clips supplémentaires qui seraient joués en fonction de la position du cadre .swf chargé. Une chose que j'ai remarquée est que le Event.ENTER_FRAME semble ralentir l'ensemble de la foutue application car à chaque trame il doit parcourir une liste de if instructions 200 lignes de code long. Dans ce cas, si le tout était incorporé, il suffirait d'insérer une image-clé dans laquelle le clip interactif serait instancié, puis de savoir immédiatement quoi faire, plutôt que de parcourir les instructions else if. Est-ce que j'ai bousillé en essayant de rendre les choses belles et ordonnées? Est-il préférable de laisser le flash clignoter? Devrais-je chercher une autre carrière? Toute contribution est grandement appréciée.
Vous devriez chercher une autre carrière. :) –
Presque n'importe quelle entrée est grandement appréciée;) –