120 scripts pour Flash 8 - Page 1 - 9 782212 122190 création d’un lecteur MP3 défilement d’un texte avec un ascenseur… À qui s’adresse cet ouvrage ? à tous les développeurs en ActionScript aux graphistes ayant des notions de programmation 15 € Téléchargez les 120 scripts sur www.yazo.net/eyrolles Conception Nord Compo simulation de la gravité Code éditeur : G12219 ISBN : 978-2-212-12219-0 Best o f E Y R O L L E S 120 scripts pour Flash 8 Du drag & drop au lecteur de flux RSS Comment réaliser un drag & drop dans Flash ? Comment créer un lecteur de flux RSS ou un chat ? Sous-titrer une vidéo ? Autant de questions qui sont traitées dans ce livre très pratique, regroupant 120 animations écrites en ActionScript, commentées et analysées avec leurs scripts. Couvrant tous les domaines (vidéo, son, XML, Flash Media Serveur, gestion du texte, construction dynamique d’interface…), ces animations répondent à la majorité des besoins rencontrés en production ou évoqués sur les forums de discussion. Compatibles avec Flash 8 mais également, dans la plupart des cas, avec Flash MX 2004, tous les fichiers sources des 120 scripts sont disponibles sur l’extension Web de l’ouvrage. David Tardiveau Développeur Flash depuis 1999, David Tardiveau est enseignant à l’école des Gobelins dans le domaine du multimédia off-line et on-line. Il est aussi le fondateur et l’animateur du site www.yazo.net, qui propose des tutoriaux sur l’ActionScript et de la documentation sur la partie animation dans Flash. www.yazo.net Quelques exemples d’animations traitées : réalisation d’un QCM construction d’une horloge CHEZ LE MÊME ÉDITEUR D. Tardiveau. – 150 scripts pour Flash 8. N°12112, 2007, 522 pages. D. Tardiveau. – La vidéo dans Flash. N°12048, 2007, 190 pages. W. SiracuSa. – Faites vos jeux avec Flash ! – Du Pacman au Sudoku. N°11993, 2006, 220 pages. M. LavanT. – Flash 8 Professional. N°11950, 2006, 678 pages. A. TaSSo. – Apprendre à programmer en ActionScript – Avec 60 exercices corrigés. N°11556, 2006, 456 pages. C. Bergé. – Je crée mon site Internet avec Dreamweaver 8 et Flash 8. N°11977, 2006, 144 pages + CD-Rom vidéo. J.-M. defrance. – PHP/MySQL avec Flash 8. N°11971, 2006, 782 pages. J.-M. defrance. – PHP/MySQL avec Flash MX 2004. N°11468, 2005, 710 pages. x M. capraro eT al. – Flash MX 2004 Magic. N°11513, 2004, 164 pages. G. guine, a. MoraeS. – Flash MX – Jeu en réseau avec Action Script et XML. N°11068, 2002, 170 pages. K. goTo, E. coTler. – Redesign web 2.0. N°11579, 2005, 294 pages. R. goeTTer, S. Blondeel. – CSS2 – Pratique du design web. N°11570, 2005, 324 pages. J. ZeldMan. – Design web : utiliser les standards – CSS et XHTML. N°11548, 2005, 414 pages. G. guéneau. – Conduite de projets en création numérique. N°11474, 2005, 300 pages. ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Cet ouvrage a fait l’objet d’un reconditionnement (format semi-poche, nouvelle couverture et nouveau prix) à l’occasion de son quatrième tirage. Le texte de l’ouvrage reste inchangé par rapport aux tirages précédents. Le code de la propriété intellectuelle du 1er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s’est généralisée notamment dans les établissements d’enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd’hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. © Groupe Eyrolles, 2006, pour le texte de la présente édition © Groupe Eyrolles, 2007, pour la nouvelle présentation, ISBN : 978-2-212-12219-0 Remerciements Merci à Fanny pour ces moments passés sur MSN à tester certaines animations et pour la relecture de quelques passages du livre. Merci à Melux pour ses relectures. Enfin, merci à Marine et Marjorie qui ont vu mon dos et mon tête-à-tête avec l’écran de l’ordinateur pendant quatre mois… Promis, j’attends deux mois avant d’écrire le prochain livre ! Avant-propos Pourquoi un tel ouvrage ? Lorsque vous rencontrez des problèmes en ActionScript, vous disposez de différentes sources d’informations pour vous renseigner. Parmi celles-ci, les forums vous permettent d’interroger la communauté des flashers afin qu’ils vous donnent leurs avis. Prenez-vous le temps de rechercher dans les forums si un ou plusieurs posts ne ressemblent pas à la question que vous vous apprêtez à déposer ? En effet, il est très fréquent de constater en parcourant les sujets des principaux forums, que des questions récurrentes sont nombreuses et précises. L’apprentissage d’une discipline peut se faire de plusieurs manières, les deux principales étant l’apprentissage académique et l’autoformation. Même si dans cette dernière situation, l’analyse d’exercices et de cas existants est un axe majeur de l’acquisition des bases, dans les deux cas, l’homme a depuis toujours essayé de comprendre ce qui existe par l’analyse, la recherche, la copie modifiée et adaptée, etc. Lorsque certaines personnes n’ont ni le courage (ou le temps) de rechercher la solution d’un problème dans un forum, ni le temps d’apprendre par elles-mêmes, il leur reste la possibilité d’interroger des spécialistes. En production d’animations Flash, les problèmes et besoins de développement sont récurrents mais il n’existe cependant pas une seule solution de déploiement pour développer une partie d’un programme. C’est en partant de ces différents constats, qu’est née l’idée d’écrire un ouvrage référençant les techniques les plus fréquemment rencontrées en production. En tant qu’enseignant, je constate que les difficultés d’apprentissage reposent toujours sur les mêmes problèmes : explications trop précises lors d’une première approche (souvent dans un souci d’exhaustivité), trop techniques et de ce fait trop abstraites. C’est pourquoi l’approche pédagogique utilisée dans cet ouvrage s’appuie sur des techniques d’enseignement qui ont fait leurs preuves. Certains scripts seront parfois moins optimisés qu’ils pourraient ou devraient l’être, mais ce sera dans un souci d’accessibilité à un large public. Avant-propos Chaque animation sera introduite par un texte justifiant l’intérêt de sa présence dans ce livre, et le fichier .fla correspondant sera disponible en ligne. Les fichiers qui ne sont compatibles qu’avec Flash 8 ne pourront être ouverts dans Flash MX 2004 ; en revanche, ceux qui ne font pas appel aux nouvelles fonctionnalités du player Flash 8 seront enregistrés au format Flash MX 2004. Nous ne sommes pas là pour faire la critique des ressources mises à disposition des flashers sur Internet, mais essayons de comprendre pourquoi la majeure partie des sites qui en proposent ne sont pas toujours pertinents. Dans la plupart des cas, les webmasters (et/ou rédacteurs, auteurs d’articles) de sites qui proposent des tutoriaux ne se mettent ni à la place, ni au niveau des apprenants. Certes, toutes les ressources ne s’adressent pas uniquement aux novices, mais un certain nombre dont la cible est bien ces néophytes, est trop complexe par son degré d’abstraction. Il est donc indispensable pour un expert de comprendre que ce qui lui paraît évident ne l’est pas pour tout le monde. Par ailleurs, si être novice signifie débuter, un apprentissage se faisant par paliers, on peut donc être novice à plusieurs niveaux. Nous garderons donc à l’esprit ces directives tout au long de nos analyses. Les différents niveaux de développement en ActionScript À l’heure où nous écrivons ce livre, le player Flash 8.5 et l’ActionScript Version 3 viennent d’être annoncés. Nous manquons cependant d’éléments pour nous prononcer sur cette dernière version. AS1 (ActionScript version 1) ou AS2 (ActionScript version 2), utilisation des composants ou non, mode de programmation par la rédaction de lignes d’instructions ou assistance de Flash ? Fort heureusement, il n’existe pas une seule ligne de conduite à adopter pour développer en ActionScript, car les utilisateurs de ce logiciel viennent d’horizons différents et possèdent de ce fait des compétences inégales. Des graphistes qui n’ont que peu ou pas d’expérience dans « la rédaction de programmes », des webmasters « bidouilleurs » autodidactes, des développeurs, des ingénieurs, ce sont autant de personnes qui se retrouvent confrontées, avec plus ou moins de facilité, à l’apprentissage de l’ActionScript. Il serait donc absurde d’imposer l’AS1 ou l’AS2. Ainsi, demander à un étudiant en informatique, dont les bases de la programmation sont acquises depuis plusieurs années, d’apprendre l’ActionScript version 1.0 serait dommage. À l’inverse, demander à un graphiste d’apprendre l’ActionScript 2, serait inconscient de la part du tuteur/prescripteur. Quelle que soit la version, vous devez bien comprendre que l’AS1 et l’AS2 utilisent le « même vocabulaire », mais pas complètement la même « grammaire ». Les « mots » utilisés dans les lignes de commandes sont les mêmes à 99 %, mais pas ordonnés dans le même ordre. Si vous souhaitez produire facilement et rapidement des animations en Flash, nous ne saurions vous préconiser autre chose que l’AS 1. En revanche, si vous connaissez déjà VIII Avant-propos la programmation ou si vous en avez des notions, nous vous encourageons vivement à utiliser l’AS2. Pour argumenter ces affirmations, après avoir interrogé des étudiants en informatique ayant appris l’ActionScript version 2 (dont certains connaissaient Java), il apparaît que l’acquisition des techniques de bases nécessaires pour le développement en AS2 nécessite au minimum une année scolaire. À l’inverse, l’AS1 ne nécessite que quelques semaines ou mois. Dans ce cas, à quoi sert l’AS2 ? Dès lors que vous aurez besoin de développer une application complexe donc très bien structurée, l’AS1 ne suffira plus, ou il sera difficile de conduire un tel développement. Nous ne rentrerons pas dans le détail, car ce n’est pas l’objet de ce livre et le Web vous renseignera très bien sur ce sujet, mais précisons simplement que l’AS2 étant un langage orienté objet, il permet donc de « modéliser » (penser et concevoir) un programme plus facilement en séparant le traitement des données. AS1 ou AS2. La différence réside donc dans l’organisation des lignes de code, la méthodologie et la rédaction des lignes d’instructions, ainsi que dans la procédure de mise en place des fichiers à associer aux fichiers Flash. Les spécialistes comprendront ma « vulgarisation » ; pour les néophytes, vous devez savoir que pour écrire un programme en AS2, vous devez respecter une structure et des contraintes de développement très précises qui appartiennent à la POO (Programmation orientée objet). Que vous développiez donc dans la version 1 ou 2 de ce langage, ce livre vous est donc destiné. Il utilise simplement l’AS1 pour faciliter les explications des différentes techniques proposées et leurs mises en application. Pour une bonne exploitation de ce livre, vous devez donc connaître les bases de l’ActionScript, c’est-à-dire maîtriser les notions de gestionnaires, variables, structures conditionnelles, boucles et fonctions en plus des méthodes élémentaires (par exemple : startDrag(), attachMovie(), etc.) et propriétés de base (par exemple : _x, _rotation, _alpha, etc.). Bouton ou clip ? Nous utiliserons parfois le terme bouton pour désigner une occurrence sur laquelle l’utilisateur peut cliquer. Il s’agira dans 99,9 % des cas d’occurrences de clips. Il est très important que vous compreniez dès à présent que l’utilisation des symboles de type Bouton est déconseillée dans bien des cas. Il est en effet impossible de définir une variable dans l’occurrence d’un bouton ou d’utiliser les méthodes de la classe MovieClip(). Ayez donc le réflexe de créer des symboles de type Clip et non de type Bouton pour créer dynamiquement vos interfaces. Doit-on utiliser les composants ? Si vous démarrez en ActionScript, la réponse à cette question est embarrassante ! Pourquoi programmer ce qui existe déjà ? Les composants vous évitent de redévelopper ce qui l’a déjà été par d’autres personnes, tels que des menus, des textes défilants, des éléments IX Avant-propos de contrôle de médias, des calendriers, des barres de chargement, etc. Lorsque vous apprenez une langue, est-il préférable de retenir des listes d’expressions ou d’apprendre sa grammaire et son vocabulaire ? Le problème des composants est similaire. Il est fortement conseillé d’apprendre d’abord l’ActionScript en se passant des composants, même si vous devez développer ce qui a déjà été fait. Votre objectif principal est de maîtriser ce langage. Utiliser des bouts de codes que vous ne comprendrez que dans leurs contextes ne vous fera pas progresser. Vous devez donc apprendre progressivement les notions élémentaires, telles que les techniques de l’algorithme, les gestionnaires, les méthodes de la classe MovieClip() et les classes intégrées. En revanche, dès lors que vous aurez compris les grands mécanismes de l’ActionScript et ceux des composants, ne réinventez pas la roue ! Structure du livre Le livre s’articule principalement autour de cinq grandes parties. La première vous présentera des animations dédiées aux techniques relatives au contrôle des éléments qui composent une interface. Ainsi vous découvrirez différents types de menus et boutons, des scripts de contrôle du déplacement d’occurrences sur la scène, des techniques de construction dynamique de l’interface et bien d’autres encore. La deuxième sera consacrée à la découverte des techniques de contrôle des médias. Il est conseillé de se référer dans un premier temps aux explications données en annexe de ce livre si vous ne connaissez pas la technologie Flash Media Server (anciennement Flash Communication Server). La troisième partie est très importante car elle vous permettra de comprendre les contraintes de traitement et de mise en page du texte dans une animation. La quatrième vous démontrera que la réalisation de jeux en Flash ne présente pas forcément de difficultés particulières. Nous avons principalement retenu des jeux pour enfants qui sont utilisés dans de nombreux sites, ainsi que des jeux plus classiques de tir, de grattage et de machine à sous. En simulant un jeu de dames en réseau, vous découvrirez aussi comment il est possible de créer un jeu multijoueur. Enfin, la cinquième et dernière partie sera consacrée aux techniques de contrôle de la scène d’une animation. En annexe, vous trouverez des explications et des scripts (entiers ou partiels) récurrents qui vous sont proposés tout au long de l’ouvrage. Nous avons en effet préféré regrouper les explications communes à plusieurs animations plutôt que d’expliquer plusieurs fois le même point dans différentes analyses et grossir ainsi inutilement le volume de ce livre. X Avant-propos Structure d’une étude de cas Comme vous pourrez le constater, la présentation d’une animation à l’autre sera toujours la même, car elle s’appuie sur une structure précise qui facilite la compréhension de l’analyse des scripts. • Titre de l’animation Un petit texte de présentation expliquera l’intérêt de l’animation et son fonctionnement dans certains cas. Figure 1 Légende des figures. Rappel Pour certaines animations, nous rappellerons une ou plusieurs bases, et nous vous mettrons également en garde sur certains pièges à éviter. Description du fichier Indication de la version de Flash Player compatible avec l’animation Chemin d’accès : NomDunDossierPrincipal/NomDunSousDossier/ NomDeLanimation.fla Nous vous décrirons ici la construction de l’interface de l’animation, c’est-à-dire les occurrences et textes dynamiques présents sur la scène, et indiquerons leurs noms. Dans certaines animations, nous énumérerons des procédures, sous formes de listes numérotées. Par exemple : 1. Procédure 1. 2. Procédure 2. 3. Procédure 3. XI Avant-propos Script Le script vous sera ensuite présenté… 1 var menus = ["Destinations", "Tarifs", "Promotions", "Horaires"]; 2 var destinations = ["Asie", "Amérique du sud", "Amérique centrale", "Etats-Unis", "Europe"]; …s’en suivra l’analyse. Analyse Ligne 1 : dans certains cas, nous analyserons ou expliquerons le script ligne après ligne. Rappel Quelques petits commentaires ou rappels pourront venir apporter une aide complémentaire. Lignes 7 à 9 : certaines lignes d’instructions seront analysées et/ou commentées globalement. Bogues éventuels Pour certaines animations, nous vous mettrons en garde sur des risques d’erreurs et/ou nous insisterons sur l’importance de certaines lignes. Téléchargement des animations utilisées dans ce livre Vous pourrez télécharger toutes les animations que nous décrivons dans ce livre à l’adresse suivante : http://www.yazo.net/eyrolles XII
120 scripts pour Flash 8 - Page 1
120 scripts pour Flash 8 - Page 2
www.wobook.com
i-kiosque.fr