 |
1. FLASH ET ACTIONSCRIPT |
Flash et ActionScript
Logiciel Flash
* Permet de développer des applications multimédia
* Intègre des images, du son, de la vidéo...
* Permet de développer des séquences dynamiques: animations
* Permet d'interagir avec l'utilisateur: navigation, jeux
* Permet un rendu de bonne qualité: totalement vectoriel
* Pour contrôler l'interactivité et le dynamisme
* Flash intègre le langage ActionScript
* ActionScript respecte le standard ECMAScript (comme JavaScript)
* Même base de langage que JavaScript
* Syntaxe, structures de contrôle, variables, tableaux, fonctions...
* En revanche, à partir d'ActionScript 2.0: syntaxe pour les classes
* Nous utiliserons ici ActionScript 3.0
Composition d'un document Flash
* Scènes = séquences temporelles du document
* Scénarios prédéfinis d'évolution de composants multimédia
* Modification des composants au fil du temps
* Position: déplacement sur la scène
* Forme: rotation, agrandissement, rétrécissement...
* Propriétés graphiques: couleur, opacité...
* Symboles = modèles de composants
* Forment une bibliothèque
* Réutilisables dans d'autres documents
* Code ActionScript
* Contrôle l'évolution des composants
* Synchronisation: enchaînement des scènes
* Interactivité: réaction aux actions de l'utilisateur
* Création dynamique de composants (pendant l'exécution)
Compilation d'un document Flash
* Deux types de fichiers dans un projet Flash
* Fichier ".fla" contient un document Flash
* Scènes + symboles + ActionScript
* Fichier ".as" contient du code ActionScript
* Un fichier ".fla" peut appeler le code d'un fichier ".as"
* Fichier ".fla" transformé en fichier ".swf"
* Transformation = "compilation"
* Fichier ".fla" = "fichier de travail", code source
* Contient tous les éléments du document
* Sous une forme lisible et modifiable par un tiers
* Fichier ".swf" = "fichier compilé", pseudo-code machine
* Contient le document en entier sous forme compacte
* Il n'est plus modifiable, ni lisible par un tiers
Exécution d'un fichier Flash
* Code interprété
* Exemples: JavaScript (par le navigateur), PHP (par le serveur)...
* Code source (.php) ? interprétation ? code machine ? exécution
* L'interprétation prend du temps ==> exécution lente
* Fonctionne sur tout ordinateur possédant l'interpréteur
* Code compilé
* Exemples: C, C++, Pascal...
* Code source (.cpp) ? compilation ? code machine (.exe) ? exécution
* Pas de phase d'interprétation ==> exécution très rapide
* Ne fonctionne que sur les ordinateurs comprenant le code machine généré
* Code pseudo-compilé
* Exemples: ActionScript, Java...
* Code source (.fla) ? compilation ? pseudo-code machine (.swf)
? interprétation ? code machine ? exécution
* Phase d'interprétation très rapide ==> exécution rapide
* Interpréteur = "machine virtuelle"
* Fonctionne sur tout ordinateur possédant une machine virtuelle
Historique de Flash
* Les versions
* Flash 1 (1996): Lancement par Macromedia
* Flash 2 (1997): Introduction d'une sorte de script
* Flash 3 (1998): Langage de script simple
* Flash 4 (1999): Enfin un vrai langage de script
* Flash 5 (2000): ActionScript 1.0 (basé sur ECMAScript)
* Flash 6 (2002): Gestion avancée des événements
* Flash 7 (2003): Performances et ActionScript 2.0
* Flash 8 (2005): Plus de composants pour ActionScript
* Flash 9 (2006): ActionScript 3.0
* ...
* Dénominations du produit
* Jusqu'à version 8: Macromedia Flash
* Depuis version 9: Adobe Flash
Historique du langage ActionScript (1/2)
* ActionScript 1.0 (2000-2003)
* Première version du langage basée sur ECMAScript
* Très proche du JavaScript pour la base du langage
* Mais pas de syntaxe pour la programmation objet
* Représentation des classes pas très explicite
* Héritage par l'intermédiaire des "prototypes"
* ActionScript 2.0 (2003-2006)
* Début d'une véritable syntaxe pour la programmation objet
* "class": représentation d'une classe
* "extends": héritage entre classes
* Mais des fonctionnalités restent manquantes
* Problème de création dynamique d'un "MovieClip"
directement à partir d'une classe ActionScript
* Pas de membres "protected" dans les classes
* Possibilité de typage statique
* Affecter un type immuable à une variable
Historique du langage ActionScript (2/2)
* ActionScript 3.0 (2006)
* Restructuration fondamentale du langage
* Fonctionnalités classiques de la POO implémentées
* Nouvelle machine virtuelle AVM2 pour ActionScript 3.0
* Flash Player 9 contient aussi AVM1 pour ActionScript 1.0 et 2.0
* Réorganisation de l'API (bibliothèque de composants)
* Dans ce cours, nous utiliserons ActionScript 3.0
* Avec ActionScript 3.0
* Approche de programmation radicalement différente
* Attention: certains scripts disponibles encore en AS 2.0
| |
| |
| Copyright (c) 1999-2016 - Bruno Bachelet
- bruno@nawouak.net -
http://www.nawouak.net |
| La permission est accordée de
copier, distribuer et/ou modifier ce document sous les termes de la licence
GNU Free Documentation License, Version 1.1 ou toute version
ultérieure publiée par la fondation Free Software
Foundation. Voir cette licence pour plus de détails (http://www.gnu.org). |
|
|