Pratique d'ActionScript 3▲
À 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 concernant la plateforme Flash.
Pendant son temps libre, Thibault expérimente ActionScript 3, comme en témoigne son site www.bytearray.org. Il travaille également sur différents projets tels que WiiFlash www.wiiflash.org.
Remerciements▲
Préface▲
Télécharger la préface au format pdf (miroir)
I. Qu'est-ce que l'ActionScript 3 ?▲
- Histoire
- 10 raisons de coder en ActionScript 3
- Outils
- La plateforme Flash
II. 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
III. 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
- Souplesse de code
- Ordre de notification
- Références faibles
- Subtilités
IV. 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
V. Symboles prédéfinis▲
-
Les types de symboles
- 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
VI. 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
VII. Interactivité▲
- Au cœur de Flash
-
Interactivité avec SimpleButton
- Enrichir graphiquement un SimpleButton
-
Créer un menu dynamique
- Mouvement programmatique
- Les pièges du ramasse-miettes
-
Ajout de comportement bouton
- Zone réactive
- 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
VIII. Programmation orientée objet▲
-
Concevoir autrement
- Tout est objet
-
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
IX. Étendre les classes natives▲
-
Intérêts
- Le vieil ami prototype
- É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
X. 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é
XI. 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
XII. Programmation Bitmap▲
- Bitmap et vectoriels
-
Couleurs
- Manipuler les 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
- Effets pervers
-
Filtrer un élément vectoriel
- Filtrer une image bitmap
- Animer un filtre
- Rendu bitmap d'objets vectoriels
- Optimiser les performances
XIII. 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
XIV. 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 sécurité
- 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
XV. 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é
XVI. 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
- Remplacer du 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
XVII. 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
XVIII. Sockets▲
- Une passerelle universelle
-
Créer un serveur de socket XML
- La classe XMLSocket
- Créer un t'chat multiutilisateur
-
La classe Socket
- Créer un serveur de socket binaire
- Échanger des données
XIX. Flash Remoting▲
-
La technologie
- Un format optimisé
-
Passerelle remoting
- Déploiement
-
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
XX. 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
XXI. 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