Pratique d'ActionScript 3
Date de publication : 22 août 2008
Par
Thibault Imbert (Site de l'auteur)
Pratique d'ActionScript 3 s'adresse à tous les flasheurs.
Cet ouvrage dresse un panorama de l'utilisation d'ActionScript 3 et de
ses nouveautés, ainsi que du nouveau lecteur Flash 9.
L'auteur explique au travers de nombreux exemples et cas concrets comment traiter
désormais les objets, le texte, le son et la vidéo, le chargement et l'envoi de données
externes (variables, XML, etc.), les sockets, etc.
Certains sujets avancés et peu abordés comme les classes bas niveau ou encore
Flash Remoting sont également traités.
Enfin, l'auteur livre une application complète qui reprend les différents points
évoqués.
Pratique d'ActionScript 3
A propos de l'auteur
Remerciements
Préface
1. Qu'est ce que l'ActionScript 3 ?
2. Langage et API
3. Le modèle événementiel
4. La liste d'affichage
5. Symboles prédéfinis
6. Propagation événementielle
7. Interactivité
8. Programmation orientée objet
9. Étendre les classes natives
10. Diffusion d'événements personnalisés
11. Classe du document
12. Programmation Bitmap
13. Chargement du contenu
14. Chargement et envoi de données
15. Communication Externe
16. Le texte
17. Son et vidéo
18. Sockets
19. Flash Remoting
20. ByteArray
21. Application finale
Pratique d'ActionScript 3
A propos de l'auteur
Thibault IMBERT est aujourd'hui ingénieur système chez Adobe France.
Il a commencé en tant que développeur Flash pour différentes agences,
avant de rejoindre Regart.net comme formateur et responsable pédagogique
pour toutes les formations conçernant la plate-forme Flash.
Remerciements
Préface
1. Qu'est ce que l'ActionScript 3 ?
- Histoire
- 10 raisons de coder en ActionScript 3
- Outils
- La plateforme Flash
2. Langage et API
- Machines virtuelles
- Traduction dynamique
- Gestion des types a l'exécution
- Erreurs à l'exécution
- Nouveaux types primitifs
- Valeurs par défaut
- Nouveaux types composites
- Nouveaux mots-clés
- Fonctions
- Contexte d'exécution
- Boucles
- Enrichissement de la classe Array
- Ramasse-miettes
- Bonnes pratiques
- Autres subtilités
3. Le modèle événementiel
- L'histoire
-
Un nouveau modèle événementiel
- Tout est événementiel
- Écouter un événement
- L'objet événementiel
- La classe Event
-
Les sous-classes d'Event
- Arrêter l'écoute d'un événement
- Mise en application
-
La puissance du couplage faible
- Ordre de notification
- Références faibles
- Subtilités
4. La liste d'affichage
- Classes graphiques
-
Liste d'affichage
- Instanciation des classes graphiques
- Ajout d'objets d'affichage
- Réattribution de conteneur
- Liste interne d'objets enfants
- Accéder aux objets d'affichage
- Suppression d'objets d'affichage
- Effondrement des profondeurs
- Gestion de l'empilement des objets d'affichage
- Échange de profondeurs
- Désactivation des objets graphiques
- Fonctionnement de la tête de lecture
- Subtilités de la propriété stage
- Subtilités de la propriété root
- Les _level
5. Symboles prédéfinis
-
Les types de symbole
- Le symbole clip
- La propriété name
-
Instanciation de symboles par programmation
- Instanciation de symboles prédéfinis
- Extraire une classe dynamiquement
- Le symbole bouton
- Le symbole bouton
- Le symbole graphique
- Les images bitmap
- Afficher une image bitmap
- Le symbole Sprite
- Définition du code dans un symbole
6. Propagation événementielle
- Concept
-
La phase de capture
- La notion de nœuds
- Déterminer la phase en cours
- Optimiser le code avec la phase de capture
- La phase cible
- Intervenir sur la propagation
- La phase de remontée
-
Écouter plusieurs phases
- La propriété Event.BUBBLES
- Suppression d'écouteurs
7. Interactivité
- Au cœur de Flash
-
Interactivité avec SimpleButton
- Enrichir graphiquement un SimpleButton
-
Créer un menu dynamique
- Les pièges du ramasse-miettes
-
Ajout de comportement bouton
- Gestion du focus
- Pour aller plus loin
- Espace de coordonnées
- Événement global
- Mise en application
- Mise a jour du rendu
-
Gestion du clavier
- Déterminer la touche appuyée
- Gestion de touches simultanées
- Simuler la méthode Key.isDown
- Superposition
- L'événement Event.RESIZE
8. Programmation orientée objet
-
Concevoir autrement
-
Notre première classe
- Introduction aux paquetages
- Définition de propriétés
- Attributs de propriétés de classe
- Attributs de classe
- Le constructeur
- Utilisation du mot clé this
- Définition de méthodes
-
L'encapsulation
- Mise en pratique de l'encapsulation
- Les méthodes d'accès
- Contrôle d'affectation
- Méthodes en lecture/écriture
- Cas d'utilisation de l'attribut static
- La classe JoueurManager
-
L'héritage
- Sous-types et super-type
- Spécialiser une classe
- Le transtypage
- Surcharge
9. Étendre les classes natives
-
Intérêts
- Étendre les classes non graphiques
-
Étendre les classes graphiques
- Accéder à l'objet Stage de manière sécurisée
- Ajouter des fonctionnalités
- Réutiliser le code
- Classe dynamique
- Un vrai constructeur
- Créer des boutons dynamiques
10. Diffusion d'événements personnalisés
- L'histoire
-
La classe EventDispatcher
- Mise en application
- Choisir un nom d'événement
- Étendre EventDispatcher
-
Stocker EventDispatcher
- Passer des informations
- Menu et événement personnalisé
11. Classe du document
- Intérêts
- La classe MainTimeline
-
Classe du document
- Limitations de la classe Sprite
- Actions d'images
-
Déclaration automatique des occurrences
- Déclaration manuelle des occurrences
- Ajouter des fonctionnalités
-
Initialisation de l'application
- Accès global à l'objet Stage
- Automatiser l'accès global à l'objet Stage
12. Programmation Bitmap
- Bitmap et vectoriels
-
Couleurs
- La classe BitmapData
- Codage de couleurs
- Gérer les ressources avec le profiler
-
La classe Bitmap
- Réutiliser les données bitmaps
-
Libérer les ressources
- Calculer le poids d'une image en mémoire
- Limitations mémoire
- Images en bibliothèque
-
Peindre des pixels
- Lire des pixels
- Accrochage aux pixels
- Le lissage
-
Mise en cache des bitmap à l'exécution
-
Filtrer un élément vectoriel
- Filtrer une image bitmap
- Animer un filtre
- Rendu bitmap d'objet vectoriels
- Optimiser les performances
13. Chargement du contenu
-
La classe Loader
- Charger un élément externe
- La classe LoaderInfo
- Interagir avec le contenu
-
Créer une galerie
- La composition
- Redimensionnement automatique
- Gestion du lissage
- Précharger le contenu
- Interrompre le chargement
- Communiquer entre deux animations
-
Modèle de sécurité du lecteur Flash
- Programmation croisée
- Utiliser un fichier de régulation
- Contexte de chargement
- Contourner les restrictions de sécurité
- Bibliothèque partagée
- Désactiver une animation chargée
- Communication AVM1 et AVM2
14. Chargement et envoi de données
-
La classe URLLoader
- Charger du texte
- L'encodage URL
- Charger des variables
- Charger des données XML
- Chargement de données et securité
- Charger des données binaires
-
Concept d'envoi de données
- Envoyer des variables
- La méthode GET ou POST
- Envoyer des variables discrètement
- Renvoyer des données depuis le serveur
- Aller plus loin
- Envoyer un flux binaire
-
Télécharger un fichier
- Publier un fichier
- Publier plusieurs fichiers
- Création de la classe EnvoiMultiple
- Retourner des données une fois l'envoi terminé
- Aller plus loin
15. Communication Externe
- Conteneur et contenu
-
Passer des variables
- Intégration par JavaScript
- La propriété parameters
- Les FlashVars
- Passer des variables dynamiques
- Accéder facilement aux FlashVars
- Appeler une fonction
-
L'API ExternalInterface
- Appeler une fonction externe depuis ActionScript
- Appeler une fonction ActionScript depuis le conteneur
- Communication et sécurité
16. Le texte
-
Le texte dans Flash
- Afficher du texte dans Flash
- Afficher du texte en programmant
- Les types de champ texte
-
Formatage du texte
- Rendu HTML
- La classe TextFormat
- Étendre la classe TextField
- La classe StyleSheet
-
Modifier le contenu d'un champ texte
- L'événement TextEvent.LINK
- Charger du contenu externe
-
Exporter une police dans l'animation
- Charger dynamiquement une police
- Détecter les coordonnées de texte
- Créer un éditeur de texte
17. Son et vidéo
-
Lecture de sons
- Lire un son provenant de la bibliothèque
- Lire un son dynamique
- La classe SoundLoaderContext
- Transformation du son
- Modification globale du son
- Lire le spectre d'un son
- Transformée de Fourier
- Le format MPEG-4 Audio
-
La vidéo dans Flash
- Le format MPEG-4 Video
- La classe Video
- Transformation du son lié à un objet NetStream
- Mode plein-écran
18. Sockets
- Une passerelle universelle
-
Créer un serveur de socket XML
- La classe XMLSocket
- Créer un t'chat multi-utilisateur
-
La classe Socket
- Créer un serveur de socket binaire
- Echanger des données
19. Flash Remoting
-
La technologie
-
Passerelle remoting
-
Le service
- Se connecter au service
- La classe Responder
- Appeler une méthode distante
- Échanger des données primitives
- Échanger des données composites
- Échanger des données typées
- Envoyer un email avec Flash Remoting
- Exporter une image
- Se connecter à une base de données
- Sécurité
- La classe Service
20. ByteArray
-
Le codage binaire
- Position et poids du bit
- Octet
- Ordre des octets
-
La classe ByteArray
- Méthodes de lecture et d'écriture
- Copier des objets
- Écrire des données au format texte
- Lire des données au format texte
- Compresser des données
- Sauvegarder un flux binaire
- Générer un PDF
21. Application finale
- Décomposer l'application
-
Gérer les chemins d'accès
- Création d'un fichier XML de configuration
-
Utiliser des librairies partagées
- Générer et charger les librairies
- Utiliser les librairies partagées

