Programming ActionScript 3.0

De
Publié par

PROGRAMMATION AVEC

ACTIONSCRIPT
3.0 © 2007 Adobe Systems Incorporated. Tous droits réservés.
Programmation avec ActionScript™ 3.0
Si le présent guide est fourni avec un logiciel régi par un contrat d’utilisateur final, ce guide ainsi que le logiciel décrit, sont
fournis sous licence et peuvent être utilisés ou copiés uniquement selon les clauses et conditions de la licence. Sauf indication
expresse dans le contrat de licence, aucune partie de ce guide ne peut être reproduite, stockée dans un système d’extraction ni
transmise de quelque manière que soit, électronique, mécanique, par enregistrement ou autre, sans l’accord écrit préalable
d’Adobe Systems Incorporated. Veuillez noter que le contenu de ce guide est protégé par les lois de copyright même s’il n’est pas
diffusé avec le logiciel comprenant l’accord de licence utilisateur final.
Le contenu de ce guide est fourni à titre d’information uniquement, peut faire l’objet de modifications sans préavis et ne saurait
être considéré comme un engagement quelconque de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated décline
toute responsabilité quant aux erreurs ou imprécisions susceptibles d’apparaître dans les informations que présente ce guide.
Rappelez-vous que certaines illustrations ou images que vous souhaitez inclure dans votre projet peuvent être protégées par les lois
de copyright. L’inclusion sans autorisation de tels éléments dans vos propres travaux peut porter atteinte aux droits du ...
Nombre de pages : 858
Voir plus Voir moins
PROGRAMMATION AVEC ™ ACTIONSCRIPT 3.0 © 2007 Adobe Systems Incorporated. Tous droits réservés. Programmation avec ActionScript™ 3.0 Si le présent guide est fourni avec un logiciel régi par un contrat d’utilisateur final, ce guide ainsi que le logiciel décrit, sont fournis sous licence et peuvent être utilisés ou copiés uniquement selon les clauses et conditions de la licence. Sauf indication expresse dans le contrat de licence, aucune partie de ce guide ne peut être reproduite, stockée dans un système d’extraction ni transmise de quelque manière que soit, électronique, mécanique, par enregistrement ou autre, sans l’accord écrit préalable d’Adobe Systems Incorporated. Veuillez noter que le contenu de ce guide est protégé par les lois de copyright même s’il n’est pas diffusé avec le logiciel comprenant l’accord de licence utilisateur final. Le contenu de ce guide est fourni à titre d’information uniquement, peut faire l’objet de modifications sans préavis et ne saurait être considéré comme un engagement quelconque de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated décline toute responsabilité quant aux erreurs ou imprécisions susceptibles d’apparaître dans les informations que présente ce guide. Rappelez-vous que certaines illustrations ou images que vous souhaitez inclure dans votre projet peuvent être protégées par les lois de copyright. L’inclusion sans autorisation de tels éléments dans vos propres travaux peut porter atteinte aux droits du détenteur de ce copyright. Veillez à obtenir toutes les autorisations nécessaires auprès de ce dernier. Toutes les références aux noms de sociétés dans les exemples de modèles sont fournies à titre d’illustration uniquement et ne visent aucune entreprise existante. Adobe, le logo Adobe, Flex, Flex Builder et Flash Player sont des marques déposées ou des marques d’Adobe Systems Incorporated aux Etats-Unis et/ou dans d’autres pays. ActiveX et Windows sont des marques ou des marques déposées de Microsoft Corporation aux Etats-Unis et dans d’autres pays. Macintosh est une marque d’Apple Inc., déposée aux Etats-Unis et dans d’autres pays. Toutes les autres marques sont la propriété de leurs détenteurs respectifs. Technologie de compression et décompression audio discours utilisée sous licence de Nellymoser, Inc. (www.nellymoser.com). Technologie de compression et décompression vidéo Sorenson™ Spark™ utilisée sous licence de Sorenson Media, Inc. Navigateur Opera® Copyright © 1995-2002 Opera Software ASA et ses fournisseurs. Tous droits réservés. Adobe Systems Incorporated, 345 Park Avenue, San Jose, Californie 95110, E.-U. Avis aux utilisateurs finaux dépendant du gouvernement des Etats-Unis. Le logiciel et la documentation sont des « articles commerciaux », selon la définition établie par l’article 48 C.F.R. §2.101, composés d’un « logiciel informatique commercial » et d’une « documentation de logiciel informatique commercial », tels que définis dans les articles 48 C.F.R. §12.212 ou 48 C.F.R. §227.7202, selon le cas. Conformément aux articles 48 C.F.R. §12.212 ou 48 C.F.R. §§227.7202-1 à 227.7202-4, selon le cas, le logiciel informatique commercial et la documentation de logiciel informatique commercial sont fournis sous licence aux utilisateurs finaux dépendant du gouvernement des Etats-Unis (a) comme articles commerciaux uniquement et (b) avec les seuls droits normalement accordés aux utilisateurs finaux, en accord avec les conditions générales applicables. Les droits non publiés sont réservés conformément aux lois sur le copyright en vigueur aux Etats-Unis. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, E.-U. Pour les utilisateurs finaux ne dépendant pas du gouvernement des Etats-Unis, Adobe accepte de respecter toutes les lois applicables relatives à l’égalité des chances, y compris, s’il y a lieu, aux dispositions du décret 11246 et ses modifications, de la section 402 de la loi sur l’aide à la réhabilitation des vétérans du Vietnam (Vietnam Era Veterans Readjustment Assistance Act) de 1974 (38 USC 4212), de la section 503 de la loi de réhabilitation (Rehabilitation Act) de 1973 et ses modifications, et des règlements des articles 41 CFR 60-1 à 60-60, 60-250 et 60-741. La clause relative à la discrimination positive et les régulations énoncées dans la phrase précédente sont incluses par référence. Table des matières A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Utilisation de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Accès à la documentation ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Ressources ActionScript destinées à la formation . . . . . . . . . . . . . . . . . 19 Chapitre 1: Introduction à ActionScript 3.0 . . . . . . . . . . . . . . . . . . 21 A propos d’ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Avantages d’ActionScript 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Nouveautés d’ActionScript 3.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Fonctions du langage de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Fonctions API de Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Compatibilité avec les versions précédentes . . . . . . . . . . . . . . . . . . . . . .27 Chapitre 2: Prise en main d’ActionScript . . . . . . . . . . . . . . . . . . . 29 Concepts de programmation de base . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Quel est le rôle d’un programme informatique. . . . . . . . . . . . . . . . . . 29 Variables et constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Types de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Utilisation des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Evénements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Gestion des événements de base . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Description du processus de gestion des événements. . . . . . . . .37 Exemples de gestion d’événements . . . . . . . . . . . . . . . . . . . . . . . . . 41 Création d’instances d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Eléments de programme courants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Exemple : Elément de portfolio d’animation. . . . . . . . . . . . . . . . . . . . . . 46 Création d’applications avec ActionScript . . . . . . . . . . . . . . . . . . . . . . . 50 Options d’organisation du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Choix de l’outil approprié . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Processus de développement ActionScript . . . . . . . . . . . . . . . . . . . 55 3 Création de vos propres classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Stratégies de conception d’une classe . . . . . . . . . . . . . . . . . . . . . . . . 56 Ecriture du code d’une classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Suggestions d’organisation des classes . . . . . . . . . . . . . . . . . . . . . . . 59 Exemple : Création d’une application de base . . . . . . . . . . . . . . . . . . . . 60 Exécution des exemples suivants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Chapitre 3: Syntaxe et langage ActionScript . . . . . . . . . . . . . . . . 71 Présentation du langage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Objets et classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Packages et espaces de nom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Espaces de noms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Types de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Vérification des types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Classes dynamiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Descriptions des types de données . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Conversions de type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 Instructions conditionnelles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Boucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Fonctions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131 Concepts de fonction de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Paramètres de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Fonctions comme objets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Domaine de la fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Chapitre 4: Programmation orientée objet en ActionScript. . . . 147 Principes de la programmation orientée objet . . . . . . . . . . . . . . . . . . . 148 Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Définitions de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 Attributs de propriété de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Les méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Les énumérations et les classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Les classes des éléments incorporés. . . . . . . . . . . . . . . . . . . . . . . . . 169 Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Rubriques avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Exemple : GeometricShapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 4 Chapitre 5: Utilisation des dates et heures . . . . . . . . . . . . . . . . . 205 Principes de base des dates et des heures. . . . . . . . . . . . . . . . . . . . . . 205 Gestion des dates calendaires et des heures . . . . . . . . . . . . . . . . . . . . 206 Contrôle des intervalles temporels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210 Exemple : une horloge analogique simple. . . . . . . . . . . . . . . . . . . . . . . .213 Chapitre 6: Utilisation des chaînes . . . . . . . . . . . . . . . . . . . . . . . . 217 Principes de base des chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218 Création de chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 La propriété length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221 Utilisation de caractères dans des chaînes. . . . . . . . . . . . . . . . . . . . . . 222 Comparaison de chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Récupération des représentations de chaîne d’autres objets. . . . . . 223 Concaténation de chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Recherche de sous-chaînes et de motifs dans des chaînes . . . . . . . 225 Conversion de la casse dans des chaînes. . . . . . . . . . . . . . . . . . . . . . . 230 Exemple : ASCII art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231 Chapitre 7: Utilisation de tableaux . . . . . . . . . . . . . . . . . . . . . . . . 239 Principes de base des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Tableaux indexés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Tableaux associatifs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251 Tableaux multidimensionnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Clonage de tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Rubriques avancées :. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Exemple : PlayList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Chapitre 8: Gestion des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Principes de base de la gestion des erreurs . . . . . . . . . . . . . . . . . . . . . 272 Types d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Gestion des erreurs dans ActionScript 3.0 . . . . . . . . . . . . . . . . . . . . . 277 Eléments de gestion des erreurs ActionScript 3.0. . . . . . . . . . . . . 278 Stratégies de gestion des erreurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Utilisation de la version de débogage de Flash Player. . . . . . . . . . . . 280 Gestion des erreurs synchrones dans une application. . . . . . . . . . . . .281 Création de classes d’erreur personnalisées . . . . . . . . . . . . . . . . . . . . 286 Réponse à des événements d’erreurs et au statut . . . . . . . . . . . . . . . 288 5 Comparaison des classes Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292 Classes Error de base ECMAScript . . . . . . . . . . . . . . . . . . . . . . . Clrror de base d’ActionScript. . . . . . . . . . . . . . . . . . . . . . . . 295 Classes Error du package flash.error . . . . . . . . . . . . . . . . . . . . . . . . .296 Exemple : Application CustomErrors . . . . . . . . . . . . . . . . . . . . . . . . . . .298 Chapitre 9: Utilisation d’expressions régulières . . . . . . . . . . . . 305 Principes de base des expressions régulières. . . . . . . . . . . . . . . . . . . 306 Syntaxe d’expression régulière . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Création d’une instance d’une expression régulière . . . . . . . . . . . . 310 Caractères, caractères de remplacement et métaséquences. . . . .311 Classes de caractère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Quantificateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Permutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Groupes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Indicateurs et propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322 Méthodes d’utilisation d’expressions régulières avec des chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327 Exemple : Un analyseur Wiki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328 Chapitre 10: Gestion d’événements. . . . . . . . . . . . . . . . . . . . . . . 335 Principes de base de la gestion des événements. . . . . . . . . . . . . . . . .336 Variation de la gestion d’événements dans ActionScript 3.0 par rapport aux versions antérieures . . . . . . . . . . . . . . . . . . . . . . . . . . . .339 Flux d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343 Objets événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345 Ecouteurs d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Exemple : un réveil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Chapitre 11: Utilisation de XML . . . . . . . . . . . . . . . . . . . . . . . . . . .367 Principes de base de XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368 L’approche E4X concernant le traitement XML. . . . . . . . . . . . . . . . . .372 Objets XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374 XMLList, objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Initialisation de variables XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378 Assemblage et transformation d’objets XML . . . . . . . . . . . . . . . . . . . 380 Parcours de structures XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Utilisation d’espaces de nom XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . .387 Conversion de type XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .388 Lecture de documents XML externes. . . . . . . . . . . . . . . . . . . . . . . . . . 390 Exemple : Chargement de données RSS depuis Internet . . . . . . . . 390 6 Chapitre 12: Programmation de l’affichage . . . . . . . . . . . . . . . . 395 Bases de la programmation de l’affichage . . . . . . . . . . . . . . . . . . . . . . 395 Classes d’affichage de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401 Avantages de l’utilisation de la liste d’affichage. . . . . . . . . . . . . . . . . . 403 Utilisation des objets d’affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Propriétés et méthodes de la classe DisplayObject. . . . . . . . . . . . 406 Ajout d’objets d’affichage à la liste d’affichage . . . . . . . . . . . . . . . . 407 Utilisation des conteneurs d’objets d’affichage. . . . . . . . . . . . . . . . 407 Traversée de la liste d’affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Définition des propriétés de la scène . . . . . . . . . . . . . . . . . . . . . . . . .413 Gestion des événements des objets d’affichage . . . . . . . . . . . . . . . 417 Choix d’une sous-classe de DisplayObject . . . . . . . . . . . . . . . . . . . .418 Manipulation des objets d’affichage. . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Modification de la position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Défilement horizontal et vertical des objets d’affichage . . . . . . . . 426 Redimensionnement et mise à l’échelle des objets . . . . . . . . . . . . 428 Contrôle de la distorsion lors de la mise à l’échelle . . . . . . . . . . 429 Mise en cache des objets d’affichage . . . . . . . . . . . . . . . . . . . . . . . . 432 Pertinence de la mise en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Activation de la mise en cache sous forme de bitmap . . . . . . . 435 Définition d’une couleur d’arrière-plan opaque . . . . . . . . . . . . . 435 Application de modes de fondu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Modification des couleurs des objets d’affichage. . . . . . . . . . . . . . 437 Modification par code des valeurs des couleurs. . . . . . . . . . . . . 438 Modification par code des effets de couleur et de luminosité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 Rotation des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Application d’effets de fondu à des objets . . . . . . . . . . . . . . . . . . . . 440 Masquage des objets d’affichage. . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Animation des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 Chargement dynamique de contenu à afficher . . . . . . . . . . . . . . . . . . 446 Chargement d’objets d’affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Suivi de la progression du chargement. . . . . . . . . . . . . . . . . . . . . . . 447 Spécification du contexte de chargement . . . . . . . . . . . . . . . . . . . . 449 Exemple : SpriteArranger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .451 Chapitre 13: Utilisation de la géométrie. . . . . . . . . . . . . . . . . . . . 459 Principes de base de la géométrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 Utilisation des objets Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462n d’objets Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Utilisation des objets Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 Exemple : Application d’une transformation de matrice à un objet d’affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 7 Chapitre 14: Utilisation de l’API de dessin . . . . . . . . . . . . . . . . . 475 Les bases d’utilisation de l’API de dessin. . . . . . . . . . . . . . . . . . . . . . . .476 Présentation de la classe Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .478 Dessin de lignes et de courbes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479 Dessin de formes à l’aide des méthodes intégrées . . . . . . . . . . . . . . .482 Création de lignes et de remplissages en dégradé. . . . . . . . . . . . . . . .483 Utilisation de la classe Math avec les méthodes de dessin . . . . . . . 489 Animation avec l’API de dessin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Exemple : générateur algorithmique d’effets visuels . . . . . . . . . . . . . . 491 Chapitre 15: Filtrage des objets d’affichage. . . . . . . . . . . . . . . . 495 Bases du filtrage des objets d’affichage. . . . . . . . . . . . . . . . . . . . . . . . 495 Création et application de filtres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .497 Création d’un nouveau filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .497 Application d’un filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Le fonctionnement des filtres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Problèmes potentiels d’utilisation des filtres. . . . . . . . . . . . . . . . . . 500 Filtres d’affichage disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 Filtre de biseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 Filtre de flou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 Filtre d’ombre portée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 Filtre de rayonnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 Filtre de biseau dégradé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 Filtre de rayonnement dégradé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .507 Exemple : combinaison de filtres de base . . . . . . . . . . . . . . . . . . . . 508 Filtre matrice de couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 Filtre de convolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511 Filtre mappage de déplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 Exemple : Filter Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Chapitre 16: Utilisation des clips . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Principes de base des clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Utilisation des objets MovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Contrôle de la lecture d’un clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Utilisation des séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .527 Création d’objets MovieClip à l’aide d’ActionScript. . . . . . . . . . . . . . .528 Exportation des symboles de bibliothèque pour ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .528 Chargement d’un fichier SWF externe . . . . . . . . . . . . . . . . . . . . . . . . . .532 Exemple : RuntimeAssetsExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .533 8 Chapitre 17: Utilisation de texte . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Les bases de l’utilisation du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 Affichage du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 Types de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 Modification du contenu d’un champ texte . . . . . . . . . . . . . . . . . . . 544 Affichage du texte HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 Utilisation d’images dans des champs texte . . . . . . . . . . . . . . . . . . 545 Défilement du texte dans un champ texte . . . . . . . . . . . . . . . . . . . . 546 Sélection et manipulation de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 Capture de la saisie de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Restriction de la saisie de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Formatage du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .551 Attribution de formats texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .551 Application de feuilles de style en cascade . . . . . . . . . . . . . . . . . . . 552 Chargement de fichiers CSS externes . . . . . . . . . . . . . . . . . . . . . . . 553 Formatage de plages de texte au sein d’un champ texte . . . . . . . 555 Fonctions avancées d’affichage de texte . . . . . . . . . . . . . . . . . . . . . . . 556 Utilisation de texte statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 Exemple : formatage du texte dans le style « journal ». . . . . . . . . . . . 560 Lecture du fichier CSS externe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .561 Disposition des éléments de l’article sur la page . . . . . . . . . . . . . . 564 Modification de la taille de la police en fonction de la taille du champ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 Répartition du texte sur plusieurs colonnes . . . . . . . . . . . . . . . . . . . 567 Chapitre 18: Utilisation des graphismes bitmap . . . . . . . . . . . . . . 571 Les bases de l’utilisation des bitmaps . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Les classes Bitmap et BitmapData . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 Manipulation des pixels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Manipulation individuelle de pixels. . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Détection de collision au niveau des pixels . . . . . . . . . . . . . . . . . . . 579 Copie de données bitmap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .581 Création de textures avec les fonctions de bruit aléatoire . . . . . . . . . 582 Défilement du contenu d’images bitmap. . . . . . . . . . . . . . . . . . . . . . . . 584 Exemple : animation d’objets Sprite à l’aide d’une image bitmap hors écran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585 Chapitre 19: Utilisation de la vidéo. . . . . . . . . . . . . . . . . . . . . . . . 587 Principes de base de la vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Présentation du format vidéo Flash (FLV) . . . . . . . . . . . . . . . . . . . . . . .591ation de la classe Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592 9 Chargement de fichiers vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 Contrôle de la lecture de la vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594 Détection de la fin d’un flux vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 Lecture de fichiers vidéo en flux continu . . . . . . . . . . . . . . . . . . . . . . . 596 Présentation des points de repère. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .597 Création de méthodes de rappel pour les gestionnaires d’événements onCuePoint et onMetaData . . . . . . . . . . . . . . . . . . . . . .598 Définir la propriété « client » de l’objet NetStream comme Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 Créer une classe et définir des méthodes pour gérer les méthodes de rappel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600 Étendre la classe NetStream et lui ajouter des méthodes pour gérer les méthodes de rappel . . . . . . . . . . . . . . . . . . . . . . . . . 601 Étendre la classe NetStream et la rendre dynamique. . . . . . . . . . 602 Définir la propriété « client » de l’objet NetStream comme this. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604 Utilisation des points de repère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604ion des métadonnées de la vidéo . . . . . . . . . . . . . . . . . . . . . . . 605 Capture d’un signal vidéo provenant de la caméra de l’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 Présentation de la classe Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 Affichage du signal provenant de la caméra . . . . . . . . . . . . . . . . . . . 610 Conception d’une application gérant une caméra locale . . . . . . . . 610 Établissement d’une connexion avec la caméra de l’utilisateur . . .611 Vérification de la présence de caméras . . . . . . . . . . . . . . . . . . . . . . . .611 Détection de l’autorisation d’accéder à la caméra. . . . . . . . . . . . . . 612 Optimisation de la qualité d’image vidéo . . . . . . . . . . . . . . . . . . . . . . 614 Suivi des conditions de lecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 Envoi de vidéo à un serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 Rubriques avancées : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 Compatibilité de Flash Player avec les fichiers FLV codés . . . . . . 617 La configuration de fichier FLV pour l’hébergement sur un serveur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 Le ciblage des fichiers FLV locaux sur Macintosh . . . . . . . . . . . . . 619 Exemple : Video Jukebox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 Chapitre 20: Utilisation du son . . . . . . . . . . . . . . . . . . . . . . . . . . .627 Principes de base de l’utilisation du son. . . . . . . . . . . . . . . . . . . . . . . . .628 Présentation de l’architecture audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631 Chargement de fichiers audio externes . . . . . . . . . . . . . . . . . . . . . . . . .633 Utilisation des sons incorporés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .636ion de fichiers audio de lecture en continu . . . . . . . . . . . . . . . .637 10
Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.