Action script

ActionScript

ActionScript est le langage de programmation utilisé au sein d'applications clientes (Adobe Flash, Adobe Flex) et serveur (Flash media server, JRun, Macromedia Generator).

ActionScript est un langage de script, orienté objet et prototype, basé sur ECMAScript (conforme à 100% avec la norme ECMA-262, révision 3, depuis ActionScript 3.0). ECMAScript étant une version standardisée de JavaScript, ActionScript et JavaScript partagent une syntaxe semblable.

Ce langage permet d'ajouter de l'interactivité aux animations Flash, en répondant aux actions de l'utilisateur, et en pilotant les movie clip (conteneurs graphiques permettant de hiérarchiser les animations), et les différents objets multimédias (images, son, vidéo…). Il permet également la communication de l'application avec le serveur, notamment par le chargement de fichiers ou la communication avec un langage serveur comme le PHP.

Sommaire

Les éléments particuliers du langage

Actionscript a évolué au cours du temps pour devenir un vrai langage de programmation appliqué à la gestion de données multimédia/animation.

Les déclarations de variables dans ActionScript se font sans typage fort jusqu'à la version 3 (AS3) qui nécessite actuellement de respecter la syntaxe var nom_variable:nom_type. L'affectation qui a pour but d'initialiser une variable est possible .

Le débogage du contenu d'une variable se fait par l'utilisation de la fonction "trace", et sa suppression avec "delete".

Les 'commentaires sont les mêmes que ceux du C/C++. On peut commenter le code de deux façons :

  • commenter le début de la ligne avec //
  • commenter un bloc de lignes avec /* ... */

Comme tout langage de programmation, Actionscript possède des structures de contrôle :

  • branchement conditionnel : if, else, else if ;
  • boucle : for, while.

Les fichiers ActionScripts non compilés ont pour extension .as (utilisé par le client) ou .asr (utilisé sur serveur). Les fichiers compilés (par MTASC) ont pour extension .swf.

Les fonctions

Les fonctions en ActionScript servent à deux choses :

Les fonction-classes

Les fonctions-classes permettent de définir des classes pour créer des objets personnalisés. Elles sont devenues inutiles depuis l'ActionScript 2, mais peuvent rester pratiques pour certaines utilisations précises.

Les objets étaient auparavant créés par l'intermédiaire de fonctions (à la manière du JavaScript). Ils sont maintenant créés de la même façon que beaucoup de langages objets, c'est-à-dire définis dans un fichier séparé et utilisés après utilisation d'une instruction d'inclusion, en l'occurrence import.

Les fonctions de répétitions

Article détaillé : Fonction (informatique).

Outre les traditionnelles boucles for et while, l'ActionScript utilise une classe nommée EventDispatcher qui permet d'exécuter nativement - donc plus rapidement - une répétition d'appels de fonctions sur une liste d'objets et méthodes appelée tableau d'écouteurs.

Ainsi, pour exécuter de manière optimale une boucle de type

 tableau.push(fonction1)
 tableau.push(fonction2)
 tableau.push(fonction3)
 // …
 for indexFonction in tableau{
   tableau[indexFonction].fonction();
 }

on utilisera plutôt

 //version as1: utilise un tableau d'objets, la méthode appelée est toujours la même
 asBroadcaster.addListener(objet1);
 asBroadcaster.addListener(objet2);
 asBroadcaster.addListener(objet3);
 asBroadcaster.broadcastMessage("nomFonction");
 
 //version as3: utilise un tableau d'objets ET méthodes
 eventDispatcher.addEventListener("nomEvent",objet1.fonction1);
 eventDispatcher.addEventListener("nomEvent",objet2.fonction2);
 eventDispatcher.addEventListener("nomEvent",objet3.fonction3);
 eventDispatcher.dispatchEvent("nomEvent");

Les composants

L'autre grande nouveauté de l'ActionScript 2.0 est l'apparition des composants. Il s'agit de clips compilés (la source n'est donc pas forcément disponible) auxquels est associée une classe de programmation. Ils s'utilisent comme des objets à part entière : leurs méthodes (fonctions appliquées à l'objet) peuvent avoir des répercussions graphiques.

Parmi les composants natifs de Macromedia Flash (version MX 2004), on peut trouver les équivalents des « conteneurs » HTML (combos de sélection, zones de texte, de saisie, listes déroulantes…), ou encore des composants plus complexes comme des fenêtres, des tableaux de données, des lecteurs multimédia (son, vidéo). La plupart de ces composants « natifs » ne sont disponibles que dans la version « Professionnelle » de Flash MX 2004.

Bilibliothèques

XML socket

L'une des particularités d'ActionScript, par rapport aux autres langages web, est d'avoir intégré dans sa bibliothèque une API utilisant les Socket et les fichiers XML pour transférer l'information entre un serveur et ses clients Flash de façon automatique sans action de la part de l'utilisateur. Ceci permet la conception d'une application ou un jeu multi-utilisateurs en temps réel. Il est alors nécessaire de mettre en place un serveur pour « centraliser » les informations et les redistribuer.

Ajax ne supporte pas les connexions par socket et les applications utilisant la technologie ajax (chat, im ..) demande a ce que le client mette a jour périodiquement son interface graphique selon une fréquence prédéfinie (mode pull, synchrone) .Par l'utilisation des sockets, le rafraichissement ne se fait que si un message nouveau est envoyé par le serveur c'est-à-dire en temps réel (mode push des messageries). L'utilisation de socket évite la mise en place de la gestion de clients et du stockage des informations.

Les serveurs compatibles sont souvent écrits en C++ ou java et supportent des langages plus faciles à programmer comme php, perl.

Voici quelques serveurs compatible XMLsocket disponibles sur Internet :

  • YS : serveur écrit en C++, et, supportant PHP et Perl.
  • FMS : Flash Media Server, serveur Flash d'Adobe.
  • electro  : payant.
  • SmartFox : serveur Flash payant.
  • Neko avec le langage haXe
  • FlashNow : payant
  • moockComm : serveur AS2. Un chat (messagerie instantanée), cet exemple est plus didacticiel que fonctionnel. Idéal pour comprendre comment fonctionnent les Sockets avec ActionScript.
  • Unity  : un autre serveur de Colin Moock, payant.
  • 2iceMP  : un multiuser server puissant (gestion de bases SQL intégrée) en PERL. Intègre un module ASTAR de pathfinding notamment. Open Source (LGPL)
  • Oregano  : il permet entre autres de gérer du clustering entre plusieurs serveurs et d'utiliser des données synchronisées. Open Source (LGPL)
  • Palabre : un serveur simple et évolutif en Python permettant de créer rapidement des applications de chat, des jeux multi-joueurs, Open Source (GPL)

Effets graphiques

ActionScript 2.0 a permis la constitution au fils du temps d'une bibliothèque d'effets graphiques appelée composant. Quelques adresses où se trouvent certains de ces composants :

Bibliothèques ActionScript

  • ASLib : bibliothèque ActionScript implémentant des structures classiques de données non intégrées dans le langage basique (Arbres binaires, Listes chaînées, Piles, « Hash Table »).
  • FP XHTML Render : un parseur XHTML. Il affiche le contenu d'un fichier XHTML dans un « conteneur » Flash (Fenêtre, etc.).

D'ActionScript 2.0 à ActionScript 3.0

L'émergence de la version 3.0 d'ActionScript a complètement bouleversé la façon d'appréhender la programmation ActionScript.

En effet, cette nouvelle mouture du langage adopte une syntaxe différente mais également une grosse particularité, c'est qu'elle est entièrement pensée et conçue pour développer en orienté objet. Tout ceci a plusieurs conséquences :

  • Les "anciens" développeurs doivent apprendre une nouvelle syntaxe, ce qui demande un petit temps d'adaptation ;
  • Obligation de comprendre et d'utiliser la programmation orientée objet ;
  • Les possibilités d'ActionScript sont encore décuplées ;
  • Une ouverture plus franche de la part d'Adobe sur ActionScript nous permet d'espérer une grande compatibilité, frameworks et autres compilateurs externes ;
  • La vitesse d'exécution des scripts est meilleure (tant que la programmation est bien réalisée).
actionscript type de base type complexe
2.0 String, Number, boolean Array, Button, Date, EventListener, LoadVars, MovieClip, MovieClipLoader,

NetStream, Netconnection, Object, Sound, TextField, XML, XMLNode,

3.0 idem + int, Null, uint, void idem +Bitmap, ByteAray, Error, Function, RegExp, Shape, Simplebutton, Video, XMLList

actionscript 1.0

  • action devient actionscript
  • supporte les types, les variables, les fonctions avec paramètres inspirés de javascript
  • une variable ne peut contenir qu'un seul type de données
  • passage de la programmation par prototype à une programmation objet

actionscript 2.0

  • compatible avec ActionScript 1.0
  • couche de syntaxe permettant l'utilisation de l'héritage de classe au-dessus du système basé sur les prototypes ( class, extends)
  • typage fort ( déclaration obligatoire des variables) avec vérification par le compilateur ( variable:type)
  • support partiel de la norme ECMAScript IV

actionscript 3.0

Liens

Liens internes

Liens externes

Bibliographie

  • Colin Moock (2003), ActionScript pour Flash MX - La référence - 2ème édition, ISBN 2-84177-271-3
  • Colin Moock (2004), Le meilleur d'ActionScript 2.0, ISBN 2-84177-313-2
  • Henri Blum (2008), ActionScript 3, Développez des jeux en Flash, ISBN 978-2-7460-4331-2, 510 pages, site de l'éditeur : www.editions-eni.fr, site de l'auteur : www.henri-blum.com
  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « ActionScript ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Action script de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Action Script — …   Википедия

  • Action film — Some of the most well known old school action film heroes. From left: (top row) Sylvester Stallone, Arnold Schwarzenegger, Bruce Willis, Steven Segal (bottom row) Dolph Lundgren, Jean Claude Van Damme, Wesley Snipes, Jackie Chan Action film is a… …   Wikipedia

  • Script supervisor — Script girl redirects here. For the Hollywood script sales video blog, see ScriptGirl. A script supervisor (also called continuity supervisor) is a member of a film crew responsible for maintaining the motion picture s internal continuity and for …   Wikipedia

  • Script coverage — is a filmmaking term for the analysis and grading of screenplays, often within the script development department of a production company.While coverage may remain entirely verbal, it usually takes the form of a written report, guided by a rubric… …   Wikipedia

  • Action Code Script — (ACS) is a scripting language used in HeXen and some modern Doom source ports, such as ZDoom. It is syntactically similar to C, but less flexible.ee also* QuakeCExternal links* [http://208.78.96.242/w/index.php?title=ACS ACS on ZDoom s wiki] …   Wikipedia

  • Action Immédiate (Film, 1957) — Pour les articles homonymes, voir Action immédiate. Action immédiate est un film français réalisé par Maurice Labro, sorti le 15 mars 1957. Sommaire 1 Synopsis …   Wikipédia en Français

  • Action immediate (film, 1957) — Action immédiate (film, 1957) Pour les articles homonymes, voir Action immédiate. Action immédiate est un film français réalisé par Maurice Labro, sorti le 15 mars 1957. Sommaire 1 Synopsis …   Wikipédia en Français

  • script — (n.) late 14c., something written, from O.Fr. escrit (Mod.Fr. écrit) a writing, written paper, from L. scriptum a writing, book, law, line, mark, noun use of neut. pp. of scribere to write, from PIE *skreibh (Cf. Gk. skariphasthai to scratch an… …   Etymology dictionary

  • script — 1. script [ skript ] n. m. • 1856; angl. scrip (1762), abrév. de subscription receipt « reçu de prêt » ♦ Anglic. Fin. Écrit remis à un créancier, à un obligataire, par une collectivité qui ne peut payer les intérêts ou rembourser les capitaux… …   Encyclopédie Universelle

  • Script breakdown — A script breakdown is an intermediate step in the production of a play, film, comic book, or any other work that is originally planned using a script.Film and televisionIn film and television, a script breakdown is: a) an analysis of a screenplay …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”