FLASH LITE 2 - Plateforme multimédia ADOBE - Notice d'utilisation et mode d'emploi gratuit

Retrouvez gratuitement la notice de l'appareil FLASH LITE 2 ADOBE au format PDF.

Question technique S'abonner aux alertes entretien (gratuit) Ajouter à ma collection de notices
Page 1
Page 1/1

Visionnez et téléchargez la notice : FLASH LITE 2 - ADOBE


Téléchargez la notice de votre Plateforme multimédia au format PDF gratuitement ! Retrouvez votre notice FLASH LITE 2 - ADOBE et reprennez votre appareil électronique en main. Sur cette page sont publiés tous les documents nécessaires à l'utilisation de votre appareil FLASH LITE 2 de la marque ADOBE.



FOIRE AUX QUESTIONS - FLASH LITE 2 ADOBE

Qu'est-ce qu'Adobe Flash Lite 2 ?
Adobe Flash Lite 2 est une version allégée de la technologie Adobe Flash, conçue pour les appareils mobiles et embarqués, permettant de créer des applications et des contenus multimédias.
Comment installer Adobe Flash Lite 2 sur mon appareil ?
Pour installer Adobe Flash Lite 2, téléchargez le fichier d'installation depuis le site officiel d'Adobe ou via le magasin d'applications de votre appareil. Suivez ensuite les instructions à l'écran pour finaliser l'installation.
Adobe Flash Lite 2 est-il compatible avec tous les appareils ?
Adobe Flash Lite 2 est compatible avec de nombreux appareils mobiles, mais il est recommandé de vérifier la liste des appareils compatibles sur le site d'Adobe ou dans la documentation fournie.
Comment résoudre les problèmes de performance avec Adobe Flash Lite 2 ?
Pour améliorer les performances, fermez les applications en arrière-plan, vérifiez les mises à jour disponibles et réduisez la complexité des animations ou des graphiques utilisés dans vos applications Flash Lite.
Que faire si Adobe Flash Lite 2 ne fonctionne pas sur mon appareil ?
Assurez-vous que votre appareil est compatible avec Flash Lite 2, redémarrez-le, vérifiez les mises à jour logicielles et réinstallez l'application si nécessaire.
Comment désinstaller Adobe Flash Lite 2 ?
Pour désinstaller Adobe Flash Lite 2, accédez aux paramètres de votre appareil, recherchez la liste des applications, sélectionnez Adobe Flash Lite 2 et choisissez l'option de désinstallation.
Où puis-je trouver des tutoriels pour utiliser Adobe Flash Lite 2 ?
Vous pouvez trouver des tutoriels sur le site officiel d'Adobe, sur des plateformes d'apprentissage en ligne, ou sur des forums et communautés dédiés au développement mobile.
Adobe Flash Lite 2 est-il toujours supporté par Adobe ?
Adobe Flash Lite 2 n'est plus activement supporté par Adobe, et il est conseillé d'explorer d'autres technologies de développement mobile modernes pour de nouveaux projets.

MODE D'EMPLOI FLASH LITE 2 ADOBE

Les informations contenues dans ce manuel sont fournies à titre purement indicatif et ne doivent pas être considérées comme un engagement de la part d’Adobe Systems Incorporated, qui se réserve le droit de les modifier sans préavis. Adobe Systems Incorporated décline toute responsabilité en cas d’éventuelles erreurs ou inexactitudes relevées dans le contenu informationnel de ce manuel. Nous attirons votre attention sur le fait que les illustrations ou images que vous pouvez être amené à inclure dans vos projets sont peut-être protégées par des droits d’auteur. L’exploitation de matériel protégé sans l’autorisation de l’auteur constitue une violation de droit. Assurez-vous d’obtenir les autorisations requises avant de procéder. Toutes les références à des noms de sociétés utilisés dans les modèles sont purement fictives et ne renvoient à aucune entreprise existante. Adobe, the Adobe logo, ActionScript, Flash, and Flash Lite are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Windows, Windows NT, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. All other trademarks are the property of their respective owners. Sorenson Spark™ video compression and decompression technology licensed from Sorenson Media, Inc. Cette section regroupe les directives à inclure dans votre fichier ActionScript pour demander au compilateur de prétraiter certaines instructions. Résumé des directives de compilation Directive

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 2 Eléments du langage ActionScript

Si vous utilisez le bouton Vérifier la syntaxe pour un script contenant des instructions #include, la syntaxe des fichiers inclus est également vérifiée.

Vous pouvez utiliser #include dans des fichiers FLA et dans des fichiers de script externes, mais pas dans les fichiers de classe ActionScript 2.0. Vous pouvez omettre le chemin, ou spécifier un chemin relatif ou absolu pour le fichier à inclure. Si vous ne spécifiez pas de chemin, le fichier AS doit figurer dans l'un des emplacements suivants :

• Le même répertoire que le fichier FLA. Le même répertoire que le script contenant l'instruction #include.

• Le répertoire Include global, qui peut prendre l'une des formes suivantes : Windows® 2000 or Windows XP: C:\Documents and Settings\utilisateur \Local Settings\Application Data\Adobe\Flash 10\langue\Configuration\Include Windows Vista®: C:\Users\utilisateur \Local Settings\ Application Data\Adobe\Flash (..) pour représenter le répertoire parent et une barre oblique (/) pour représenter les sous-répertoires. Consultez les exemples suivants : Pour spécifier un chemin absolu pour le fichier AS, appliquez le format correspondant à votre plate-forme (Macintosh ou Windows). Consultez les exemples suivants : (Cette utilisation n'est pas recommandée car elle nécessite une structure de répertoires identique sur l'ordinateur servant à compiler le script.) Remarque : Si vous placez des fichiers dans le répertoire First Run/Include ou dans le répertoire global Include, sauvegardez ces fichiers. En effet, si vous devez désinstaller et réinstaller Flash, ces répertoires risquent d'être supprimés ou remplacés. Disponibilité Flash Lite 2.0 Paramètres [chemin]nom_fichier.as - nom_fichier.as Nom de fichier et chemin facultatif du script à ajouter au panneau Les actions d'initialisation s'exécutent lorsqu'un symbole de clip est défini. Si le clip est un symbole exporté, les actions d'initialisation s'exécutent avant les actions de l'image 1 du fichier SWF. Sinon, elles s'exécutent immédiatement avant les actions portant sur l'image qui contient la première occurrence du symbole de clip correspondant. Les actions d'initialisation ne s'exécutent qu'une seule fois lors de la lecture d'un fichier SWF ; utilisez-les pour les initialisations uniques, telles que les opérations de définition de classe et d'inscription. Disponibilité Flash Lite 2.0 Paramètres order - Entier non négatif spécifiant l'ordre d'exécution des blocs de code #initclip. Ce paramètre est facultatif. Vous devez spécifier la valeur à l'aide d'un littéral entier (seules les valeurs décimales sont autorisées, et non pas les valeurs hexadécimales), et non à l'aide d'une variable. Si vous incluez plusieurs blocs #initclip dans un symbole de clip unique, le compilateur utilise alors la dernière valeur order spécifiée dans ce symbole de clip pour tous les blocs #initclip de ce symbole. Exemple Dans l'exemple suivant, le code ActionScript est placé sur l'image 1 au sein d'une occurrence de clip. Un fichier texte variables.txt est placé dans le même répertoire.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 4

Eléments du langage ActionScript

Eléments du langage ActionScript

"undefined" (undefined est converti en chaîne).

Dans les fichiers publiés pour Flash Player 6 ou version précédente, la valeur de Number(undefined) est 0. Dans les fichiers publiés pour Flash Player 7 ou version précédente, la valeur de Number(undefined) est NaN. La valeur undefined est similaire à la valeur spéciale null. Lorsque les propriétés null et undefined sont comparées avec l'opérateur d'égalité (==), elles sont considérées comme égales. Lorsque les propriétés null et undefined sont comparées avec l'opérateur d'égalité stricte (===), elles sont considérées comme différentes. Disponibilité Flash Lite 1.1 Exemple Dans l'exemple suivant, la variable x n'a pas été déclarée, sa valeur est donc undefined. Dans la première section du code, l'opérateur d'égalité (==) compare la valeur de x à la valeur undefined ; le résultat s'affiche dans le panneau Sortie. Dans la première section du code, l'opérateur d'égalité (==) compare la valeur de x à la valeur undefined ; le résultat s'affiche dans le fichier journal. Dans la deuxième section du code, l'opérateur d'égalité (==) compare les valeurs null et undefined.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 8

Eléments du langage ActionScript

Exécute le script dans l'image appelée sans positionner la tête de lecture sur celle-ci.

chr(number:Number) :

String clearInterval(intervalID:N Annule un intervalle créé par un appel à setInterval().

Accède aux variables, propriétés, objets ou clips en fonction de leur nom.

Permet à un fichier SWF de communiquer avec le lecteur Flash Lite ou l'environnement d'un périphérique mobile (tel qu'un système d'exploitation).

fscommand2(command:Stri Permet au fichier SWF de communiquer avec le lecteur Flash Lite ng, parameters:String) ou une application hôte sur un périphérique mobile. getProperty(my_mc:Object

, property:Object) : Vérifie si le contenu d'une image spécifique est disponible localement.

Renvoie la longueur de la chaîne ou variable spécifiée.

loadMovie(url:String, target:Object,

[method:String]) (Active Server Pages), PHP ou un script Perl et définit les valeurs pour les variables dans un niveau de Flash Player. mbchr(number:Number)

Déconseillé depuis Flash Player 5. Cette fonction est déconseillée au profit de la méthode

String.fromCharCode(). Convertit un numéro de code ASCII en caractère multi-octets.

mblength(string:String)

, index:Number, déconseillée au profit de la méthode String.substr(). count:Number) : String

Extrait une nouvelle chaîne de caractères multi-octets d'une chaîne de caractères multi-octets.

Convertit les caractères en numéros de code ASCII. parseFloat(string:String) Convertit une chaîne en nombre à virgule flottante. : Number

unloadMovieNum(level:Nu Supprime un fichier SWF ou une image chargés par mber) l'intermédiaire de la fonction loadMovieNum() de Flash Player.

L'utilisation de cette fonction revient à créer un tableau avec le constructeur Array (voir « Constructeur pour la classe Array »). Vous pouvez transmettre un nombre (numElements) ou la liste des éléments contenant un ou plusieurs types différents (element0, element1, ... elementN). Les paramètres qui peuvent accepter plusieurs types de données sont répertoriés dans la signature sous le type Object. Disponibilité Flash Lite 2.0 Paramètres numElements [facultatif] - Entier positif spécifiant le nombre d'éléments contenus dans le tableau. Vous pouvez

• Si expression est un nombre, la valeur renvoyée est true si le nombre diffère de zéro ; sinon, la valeur renvoyée est false.

Si expression est une chaîne, la valeur renvoyée est l'une des valeurs suivantes :

• Dans les fichiers publiés pour Flash Player 6 ou une version plus récente, la chaîne est tout d'abord convertie en nombre. Sa valeur est true si le nombre est différent de zéro, false dans le cas contraire.

• Dans les fichiers publiés pour Flash Player 7 ou version ultérieure, le résultat est true si la longueur de la chaîne est supérieure à zéro et false en cas de chaîne vide.

Si expression est une chaîne, le résultat est true si la longueur de cette chaîne est supérieure à zéro, false en cas de chaîne vide.

• Si expression est undefined ou NaN (n'est pas un nombre), la valeur renvoyée est false.

• Si expression est un clip ou un objet, la valeur renvoyée est true. Remarque : Contrairement au constructeur de classe Boolean, la fonction Boolean() n'utilise pas le mot-clé new. De plus, le constructeur de classe Boolean initialise un objet booléen sur false si aucun paramètre n'est spécifié, bien que la fonction Boolean() renvoie undefined en l'absence de paramètres. Disponibilité Flash Lite 2.0 Paramètres expression:Object - Expression à convertir en valeur booléenne.

• Si les variables ne sont pas déclarées dans un bloc ({}) mais que la liste d'actions a été exécutée à l'aide d'une action call(), les variables sont locales et expirent à la fin de la liste actuelle.

• Si les variables ne sont pas déclarées dans un bloc et que la liste d'action actuelle n'a pas été exécutée à l'aide de l'action call(), les variables sont interprétées en tant que variables de scénario.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 15

Eléments du langage ActionScript

Sous Flash 4, vous pouvez également utiliser eval() pour définir de façon dynamique la valeur d'une variable ou d'un nom d'occurrence et l'extraire. Cette opération est également possible avec l'opérateur de tableau ([]).

A partir de Flash 5, vous ne pouvez plus recourir à eval() pour définir de façon dynamique et extraire la valeur d'une variable ou d'un nom d'occurrence, car vous ne pouvez pas utiliser eval() dans la partie gauche d'une équation. Par exemple, remplacez le code eval ("var" + i) = "first";

par : this["var"+i] = "first"

ou par : set ("var" + i, "first");

Cette commande est prise en charge uniquement lorsque le lecteur Flash Lite est en cours d'exécution en mode autonome. Elle n'est pas prise en charge lorsque le lecteur s'exécute dans le contexte d'une autre application (par exemple, en tant que module externe dans un navigateur).

Selection.setFocus() et active le champ texte en vue de sa modification. Cette commande a uniquement un effet lorsque le téléphone prend en charge la modification de texte en ligne.

Cette commande peut être appelée dans le cadre d'un rappel de l'écouteur d'événements Selection.onSetFocus(). Les champs texte deviennent alors actifs et peuvent être modifiés lorsqu'ils sont sélectionnés. Remarque : dans la mesure où la fonction fscommand() s'exécute de façon asynchrone, le champ texte ne devient pas immédiatement actif ; il le devient à la fin de l'image.

Flash Lite 1.1 Paramètres command:String - Chaîne transmise à l'application hôte ou commande passée au lecteur Flash Lite. parameters:String - Chaîne transmise à l'application hôte ou valeur passée au lecteur Flash Lite. ActionScript » pour prendre connaissance des commandes et paramètres pouvant être spécifiés pour la fonction fscommand(). Ces valeurs contrôlent les fichiers SWF lus par le lecteur Flash Player. La fonction fscommand2() est similaire à la fonction fscommand(), à l'exception des différences suivantes :

• La fonction fscommand2() peut contenir autant d'arguments que nécessaire. Par opposition, fscommand() ne peut recevoir qu'un seul argument.

• Flash Lite exécute fscommand2() immédiatement (en d'autres termes, dans l'image) alors que fscommand() est exécuté à la fin du traitement de l'image.

• La fonction fscommand2() renvoie une valeur permettant de rapporter si la commande a réussi, échoué ou bien son résultat.

Remarque : Aucune des commandes fscommand2() n'est disponible dans les lecteurs Web. Disponibilité Flash Lite 1.1 Commandes fscommand2() déconseillées Paramètres url:String - URL permettant d'obtenir le document. window:String [facultatif] - Spécifie la fenêtre ou le cadre HTML dans lequel le document doit se charger. Vous

Player est la version majeure 8, version mineure 1 (8.1).

Voir aussi os (propriété capabilities.os), version (propriété capabilities.version)

gotoAndPlay, fonction gotoAndPlay( [scene:String,] frame:Object) : Void

Dans l'exemple suivant, un document contient deux séquences : sceneOne et sceneTwo. La séquence 1 contient une étiquette d'image sur l'image 10 intitulée newFrame et deux boutons, myBtn_btn et myOtherBtn_btn. Ce code ActionScript est placé sur l'image 1, séquence 1 du scénario principal. stop(); myBtn_btn.onRelease = function(){ gotoAndPlay("newFrame"); }; myOtherBtn_btn.onRelease = function(){ gotoAndPlay("sceneTwo", 1); }; GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 25 Eléments du langage ActionScript

Math.floor() si le paramètre value est positif et à Math.ceil() si le paramètre value est négatif.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 26

Eléments du langage ActionScript

La fonction loadMovie() permet d'afficher plusieurs fichiers SWF à la fois et de basculer vers l'un de ces derniers sans avoir à charger un autre document HTML. En l'absence de la fonction loadMovie(), Flash Player affiche un seul fichier SWF.

Si vous souhaitez charger un fichier SWF ou JPEG à un niveau spécifique, utilisez loadMovieNum() à la place de loadMovie().

Lorsqu'un fichier SWF est chargé dans un clip cible, vous pouvez utiliser le chemin cible de ce clip pour cibler le fichier

SWF chargé. Un fichier SWF ou une image chargé dans une cible hérite de la position, des propriétés de rotation et d'échelle du clip ciblé. Le coin supérieur gauche de l'image chargée ou du fichier SWF s'aligne sur le point de référence du clip ciblé. Sinon, lorsque la cible correspond au scénario racine, le coin supérieur gauche de l'image ou du fichier SWF s'aligne sur le coin supérieur gauche de la scène. La fonction unloadMovie() permet de supprimer les fichiers SWF chargés avec loadMovie(). Disponibilité Flash Lite 1.1 Paramètres url:String - URL absolue ou relative du fichier SWF ou JPEG à charger. Un chemin relatif doit être relatif au fichier

Normalement, Flash Player affiche un fichier SWF, puis se ferme. L'action loadMovieNum() permet d'afficher plusieurs fichiers SWF à la fois et de basculer vers l'un de ces derniers sans avoir à charger un autre document HTML.

Si vous souhaitez spécifier une cible et non pas un niveau, utilisez loadMovie() à la place de loadMovieNum(). Flash Player empile les différents niveaux en commençant par le niveau 0. Ces niveaux correspondent à des feuilles de papier calque empilées les unes sur les autres, ils sont transparents à l'exception des objets placés à chaque niveau. Lorsque vous utilisez loadMovieNum(), vous devez spécifier le niveau de Flash Player devant recevoir le fichier SWF à charger. Lorsqu'un fichier SWF est chargé dans un niveau, utilisez la syntaxe _levelN, où N correspond au numéro du niveau cible. Lorsque vous chargez un fichier SWF, vous pouvez spécifier le niveau de votre choix et charger des fichiers SWF dans un niveau qui comporte déjà un fichier de ce type. Dans ce cas, le nouveau fichier SWF remplace le fichier existant. Si vous chargez un fichier SWF dans le niveau 0, tous les autres niveaux de Flash Player sont vidés et le niveau 0 utilise le nouveau fichier. Le fichier SWF du niveau 0 définit la cadence d'images, la couleur d'arrière-plan et la taille d'image de tous les autres fichiers SWF chargés. L'action loadMovieNum() permet également de charger des fichiers JPEG dans un fichier SWF en cours de lecture. Pour les images et les fichiers SWF, le coin supérieur gauche de l'image s'aligne sur le coin supérieur gauche de la scène pendant le chargement du fichier. Dans les deux cas, le fichier chargé hérite des paramètres de rotation et de mise à l'échelle, et le contenu d'origine est remplacé au niveau spécifié.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 30

Eléments du langage ActionScript

Remarque : Les fichiers JPEG enregistrés au format progressif ne sont pas pris en charge.

La fonction unloadMovieNum() permet de supprimer les fichiers SWF chargés avec loadMovieNum(). Disponibilité Flash Lite 1.1 Paramètres url:String - URL absolue ou relative du fichier SWF ou JPEG à charger. Un chemin relatif doit faire référence au

fichier SWF du niveau 0. Pour l'utilisation avec une version autonome de Flash Player ou en mode test dans l'application de programmation Flash, tous les fichiers SWF doivent être stockés dans le même dossier et les noms de fichier ne doivent pas inclure de spécifications de dossier ou lecteur de disque. level:Number - Entier spécifiant le niveau de Flash Player dans lequel le fichier SWF doit se charger. method:String [facultatif] - Spécifie une méthode HTTP d'envoi des variables. Ce paramètre doit correspondre à la

chaîne GET ou POST. En l'absence de variable à envoyer, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et est utilisée pour des variables longues de type chaîne.

Exemple L'exemple suivant permet de charger l'image JPEG tim.jpg dans le niveau 2 de Flash Player : loadMovieNum("http://www.helpexamples.com/flash/images/image1.jpg", 2);

Voir aussi unloadMovieNum, fonction, loadMovie, fonction, loadClip (méthode MovieClipLoader.loadClip),

Si vous souhaitez charger des variables dans un niveau spécifique, utilisez loadVariablesNum() à la place de loadVariables(). Disponibilité Flash Lite 1.1 Paramètres url:String - URL absolue ou relative par rapport à l'emplacement des variables. Si le fichier SWF qui émet cet appel

s'exécute sur un navigateur Web, l'url doit appartenir au même domaine que le fichier SWF. Pour plus de détails, consultez la section Description. target:Object - Chemin cible d'un clip devant recevoir les variables chargées. method:String [facultatif] - Spécifie une méthode HTTP d'envoi des variables. Ce paramètre doit correspondre à la

chaîne GET ou POST. En l'absence de variable à envoyer, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et est utilisée pour des variables longues de type chaîne.

Exemple L'exemple suivant permet de charger les informations d'un fichier texte intitulé params.txt dans le clip target_mc créé à l'aide de createEmptyMovieClip(). La fonction setInterval() permet de vérifier la progression du chargement. Le script recherche une variable dans le fichier params.txt appelé done. this.createEmptyMovieClip("target_mc", this.getNextHighestDepth()); loadVariables("params.txt", target_mc); function checkParamsLoaded() { if (target_mc.done == undefined) { trace("not yet."); } else { trace("finished loading. killing interval."); trace("-------------"); for (i in target_mc) { trace(i+": "+target_mc[i]); } trace("-------------"); clearInterval(param_interval); } Pour les fichiers SWF lus par une version antérieure à Flash Player 7, l'url doit correspondre au superdomaine du fichier SWF envoyant cet appel. Un superdomaine est dérivé en supprimant le composant le plus à gauche de l'URL d'un fichier. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données à partir d'une source à l'adresse store.someDomain.com dans la mesure où les deux fichiers figurent dans le même superdomaine que someDomain.com. Dans les fichiers SWF, quelle que soit leur version, qui s'exécutent dans Flash Player 7 ou version ultérieure, l'url doit figurer dans le même domaine que le fichier SWF qui envoie cet appel (voir « Fonctions de sécurité de Flash Player » dans le guide Utilisation d'ActionScript dans Flash). Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données en provenance de sources qui figurent également à l'adresse www.someDomain.com. Si vous souhaitez charger des données à partir d'un autre domaine, vous pouvez placer un fichier de régulation inter-domaines sur le serveur hébergeant le fichier SWF. Pour plus d'informations, voir « A propos de l'autorisation de chargement de données inter-domaines » dans Utilisation d'ActionScript dans Flash. Si vous souhaitez charger des variables dans un clip cible, utilisez loadVariables() à la place de loadVariablesNum().

Flash Lite 1.1 Paramètres url:String - URL absolue ou relative par rapport à l'emplacement des variables. Si le fichier SWF qui émet cet appel chaîne GET ou POST. En l'absence de variable à envoyer, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et est utilisée pour des variables longues de type chaîne.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 33

Eléments du langage ActionScript

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 34

Eléments du langage ActionScript

• Si expression est une valeur booléenne, la valeur renvoyée est 1 si expression est true ; 0 si expression est false.

• Si expression est une chaîne, la fonction tente d'analyser expression en tant que nombre décimal avec un exposant facultatif à la fin (ainsi, 1,57505e-3).

• Si expression est NaN, la valeur renvoyée est NaN.

• Si expression est undefined, la valeur renvoyée est la suivante : • - Dans les fichiers publiés pour Flash Player 6 ou version précédente, le résultat est 0. • - Dans les fichiers publiés pour Flash Player 7 ou version ultérieure, le résultat est NaN. Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 37

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 39 Eléments du langage ActionScript

System.capabilities.hasMouse est true.)

mouseDown L'action commence dès que l'utilisateur appuie sur le bouton gauche de la souris. (Cet événement est pris en charge dans Flash Lite seulement si System.capabilities.hasMouse est true ou si

System.capabilities.hasStylus est true.)

mouseUp L'action commence dès que l'utilisateur relâche le bouton gauche de la souris. (Cet événement est pris en

System.capabilities.hasStylus est true.)

keyDown L'action commence dès que l'utilisateur appuie sur une touche. La méthode Key.getCode() permet

L'exemple suivant utilise onClipEvent() avec l'événement de clip keyDown et est conçu pour être associé à un clip ou bouton. L'événement de clip keyDown est généralement utilisé avec une ou plusieurs méthodes et propriétés de l'objet Key. Le script suivant utilise Key.getCode() pour savoir sur quelle touche l'utilisateur a appuyé ; si la touche sur laquelle il a appuyé correspond à la propriété Key.RIGHT, la tête de lecture est positionnée sur l'image suivante ; si elle correspond à la propriété Key.LEFT, la tête de lecture est positionnée sur l'image précédente. onClipEvent (keyDown) { if (Key.getCode() == Key.RIGHT) { this._parent.nextFrame(); } else if (Key.getCode() == Key.LEFT) { this._parent.prevFrame(); } } Eléments du langage ActionScript

Eléments du langage ActionScript

Si interval est supérieur à la cadence d'images du fichier SWF, la fonction interval n'est appelée que lorsque la tête de lecture est placée sur une image, ce qui réduit l'impact des actualisations d'écran.

Remarque : Dans Flash Lite 2.0, l'intervalle transmis par cette méthode est ignoré si sa valeur est inférieure à la cadence d'images du fichier SWF et si la fonction interval est appelée uniquement pour la cadence d'images du fichier SWF. Si l'intervalle est supérieur à la cadence d'images du fichier SWF, l'événement est appelé sur l'image suite, à l'issue de l'intervalle. Disponibilité Flash Lite 2.0 Paramètres functionName:Object - Nom de fonction ou référence à une fonction anonyme. interval:Number - Nombre de millisecondes séparant les appels du paramètre functionName ou methodName. param:Object [facultatif] - Paramètres transmis au paramètre functionName ou methodName. Les paramètres

SWF. Par exemple, le fait de supprimer un clip d'un fichier SWF, n'annule pas la fonction setInterval() au sein de ce dernier. Annulez systématiquement la fonction setInterval() à l'aide de clearInterval() lorsque vous n'avez plus besoin de cette dernière, comme indiqué dans l'exemple suivant :

// create an event listener object for our MovieClipLoader instance var listenerObjectbject = new Object(); listenerObject.onLoadInit = function(target_mc:MovieClip) { trace("start interval"); /* after the target movie clip loaded, create a callback which executes about every 1000 ms (1 second) and calls the intervalFunc function. */ target_mc.myInterval = setInterval(intervalFunc, 1000, target_mc); }; function intervalFunc(target_mc) { Remarque : Cette méthode n'est prise en charge par Flash Lite que si System.capabilities.hasMouse est défini sur true ou si System.capabilities.hasStylus est défini sur true. Disponibilité Flash Lite 2.0 Exemple Le code suivant, placé dans le scénario principal, arrête le mouvement sur l'occurrence de clip my_mc lorsque l'utilisateur relâche le bouton de la souris : my_mc.onPress = function () { startDrag(this); • Si expression est une chaîne, la chaîne renvoyée est expression. • Si expression est un objet, la valeur renvoyée est une chaîne représentant l'objet généré en appelant la propriété string de l'objet ou en appelant Object.toString() en l'absence de ce type de propriété.

• Si expression est une valeur booléenne, la valeur renvoyée est "true" ou "false".

• Si expression est un clip, la valeur renvoyée est le chemin cible du clip utilisant la notation à barre oblique (/). Si expression est undefined, les valeurs renvoyées sont les suivantes :

• Dans les fichiers publiés pour Flash Player 6 ou version précédente, le résultat est une chaîne vide (« »).

• Dans les fichiers publiés pour Flash Player 7 ou version ultérieure, le résultat est undefined. Remarque : la notation avec barre oblique n'est pas prise en charge par ActionScript 2.0. Disponibilité Flash Lite 1.0 Paramètres expression:Object - Expression à convertir en chaîne.

A partir de Flash 5 ou d'une version ultérieure, vous pouvez utiliser une notation de type point (.) au lieu de l'action tellTarget. Vous pouvez utiliser l'action with pour publier plusieurs actions dans le même scénario. Vous pouvez utiliser l'action with pour cibler l'objet de votre choix, tandis que l'action tellTarget peut uniquement cibler les clips.

Disponibilité Flash Lite 1.0 Paramètres target:String - Chaîne qui spécifie le chemin cible du scénario à contrôler. statement(s):Object - Instructions à exécuter lorsque la condition renvoie la valeur true.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 54

Eléments du langage ActionScript

Cette instruction permet d'écrire des notes de programmation ou d'afficher des messages dans le panneau Sortie pendant le test d'un fichier SWF. Utilisez le paramètre expression pour vérifier l'existence d'une condition ou pour afficher des valeurs dans le panneau Sortie. L'instruction trace() est similaire à la fonction JavaScript alert.

Vous pouvez également utiliser la commande Omettre les actions Trace de la boîte de dialogue Paramètres de publication pour supprimer les actions trace() du fichier SWF exporté. Disponibilité Flash Lite 1.0 Paramètres expression:Object - Expression à évaluer. Lorsqu'un fichier SWF s'exécute dans l'outil de programmation Flash

(avec la commande Tester l'animation), la valeur du paramètre expression s'affiche dans le panneau Sortie.

Exemple L'exemple suivant utilise une instruction trace() pour afficher dans le panneau Sortie les méthodes et propriétés du champ texte intitulé error_txt créé de manière dynamique : this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22); for (var i in error_txt) { trace("error_txt."+i+" = "+error_txt[i]); } /* output: error_txt.styleSheet = undefined error_txt.mouseWheelEnabled = true error_txt.condenseWhite = false Player. Pour décharger un fichier SWF ou une image chargée avec MovieClip.loadMovie(), utilisez unloadMovie() au lieu de unloadMovieNum(). Disponibilité Flash Lite 1.1 Paramètres level:Number - Niveau (_levelN) d'une animation chargée. électroniques à l'aide de la commande ActionScript GetURL().

Déconseillé depuis Flash Lite Player 2.0. Cette action est déconseillée au profit de la propriété

ActionScript GetURL(). Dans l'affirmative, cette variable est définie et prend la valeur 1. Sinon, elle reste non définie.

_capSMAF Déconseillé depuis Flash Lite Player 2.0. Cette action est déconseillée au profit de la propriété

System.capabilities.hasSMAF. Indique si le périphérique peut diffuser des fichiers multimédias au format SMAF (Synthetic music Mobile Application Format). Dans l'affirmative, cette variable est définie et prend la valeur 1. Sinon, elle reste non définie.

_capSMS Déconseillé depuis Flash Lite Player 2.0. Cette action est déconseillée au profit de la propriété

System.capabilities.hasSMS. Indique si Flash Lite peut envoyer des messages SMS (Short Message Service) à l'aide de la commande ActionScript GetURL().

(boutons et champs de saisie). Dans le cas contraire, cette variable n'est pas définie. Lorsque l'une des quatre touches de direction est sollicitée, si la valeur de la variable _cap4WayKeyAS est 1, Flash Lite recherche le gestionnaire de cette touche en premier. S'il n'en trouve pas, l'application parcourt les contrôles Flash. Cependant, si un gestionnaire d'événements est trouvé, aucune action de navigation ne se produit pour cette touche. Par exemple, si un gestionnaire associé à la touche Bas est détecté, l'utilisateur ne peut pas procéder à la navigation. Disponibilité Flash Lite 1.1 Exemple L'exemple suivant définit canUse4Way sur 1 dans Flash Lite 1.1, mais laisse cette variable non définie dans Flash Lite Dans l'affirmative, cette variable est définie et prend la valeur 1. Sinon, elle reste non définie. Disponibilité Flash Lite 1.1 Exemple Si le périphérique peut lire des données audio MFi, l'exemple suivant définit canMfi sur 1: canMFi = _capMFi; if (canMFi == 1) { Eléments du langage ActionScript

Pour restaurer toutes les fonctionnalités de clavier d'un bouton ou d'un clip spécifique, vous pouvez annuler cette propriété globale à l'aide de Button._focusrect ou MovieClip._focusrect.

Remarque : Si vous utilisez un composant, puis si FocusManager prend le relais de Flash Player pour la gestion du focus, incluez cette propriété globale. Remarque : Pour le lecteur Flash Lite 2.0, lorsque la propriété _focusrect est désactivée (par exemple Button.focusRect = false ou MovieClip.focusRect = false), le bouton ou le clip reçoit toujours l'ensemble

des événements. Ce comportement est différent du lecteur Flash, car lorsque la propriété _focusrect est désactivée, le bouton ou le clip reçoit les événements rollOver et rollOut, mais pas press et release.

D'autre part, pour Flash Lite 2.0, vous pouvez modifier la couleur du rectangle de focus à l'aide de la commande fscommand2 SetFocusRectColor. Ce comportement diffère de Flash Player, où la couleur du rectangle de focus est limitée au jaune. Disponibilité Flash Lite 1.0 Exemple L'exemple suivant démontre comment masquer le rectangle jaune autour des occurrences d'un fichier SWF lorsqu'elles ont le focus dans une fenêtre de navigateur. Créez des boutons ou clips et ajoutez le code ActionScript suivant dans l'image 1 du scénario : Eléments du langage ActionScript

Remarque : Lorsque vous définissez une variable globale, vous devez utiliser le nom entièrement qualifié de la variable, par exemple _global.variableName. Le non-respect de cette règle crée une variable locale du même nom qui masquera la variable globale que vous essayez de définir.

Disponibilité Flash Lite 2.0 Le fichier SWF initial qui est chargé dans une occurrence de Flash Player est chargé automatiquement dans _level0. Le fichier SWF dans _level0 définit le débit d'images, la couleur d'arrière-plan et la taille d'image de tous les fichiers SWF chargés par la suite. Les fichiers SWF sont alors empilés dans les niveaux situés au-dessus du fichier SWF de _level0. Vous devez affecter un niveau à chaque fichier SWF que vous chargez dans Flash Player avec loadMovieNum(). L'ordre d'affectation des niveaux n'est pas important. Si vous affectez un niveau qui contient déjà un fichier SWF (ce qui inclut _level0), le fichier SWF de ce niveau est purgé et remplacé par le nouveau fichier SWF. Disponibilité Flash Lite 1.0 Exemple L'exemple suivant arrête la tête de lecture dans le scénario principal du fichier SWF sub.swf chargé dans _level9. Le fichier sub.swf contient une animation et se trouve dans le même répertoire que le document incluant le code Eléments du langage ActionScript

Les bitmaps ne sont pas lissés

Qualité de rendu moyenne. Ce niveau de qualité convient aux animations qui ne contiennent pas de texte.

Les bitmaps ne sont pas lissés

Qualité de rendu supérieure. Il

Les graphiques sont anti-aliasés s'agit du paramètre de qualité de en utilisant une grille de 4 x 4 rendu par défaut de Flash. pixels.

Les bitmaps ne sont pas lissés

Flash Lite 2.0 Exemple Remarque : Si un clip contenant _root est chargé dans un autre clip, _root fait référence au scénario du clip en cours de chargement et non pas au scénario qui contient _root. Si vous souhaitez vous assurer que _root fait référence au scénario du clip chargé, même si ce dernier a été chargé dans un autre clip, utilisez MovieClip._lockroot. Disponibilité Flash Lite 2.0 Paramètres movieClip:String - Nom d'occurrence d'un clip. action:String - Action ou champ. property:String - Propriété de l'objet MovieClip. Dans la mesure où this est évalué dans le contexte du script qui le contient, vous ne pouvez pas utiliser this pour faire référence à une variable définie dans un fichier de classe. Crée ApplyThis.as et entre le code suivant : class ApplyThis { var str:String = "Defined in ApplyThis.as"; function conctStr(x:String):String { return x+x; } function addStr():String { return str; } } applique une opération booléenne AND sur chaque bit des entiers entrés en tant que paramètres. &= (affectation AND au niveau du bit)

Affecte à expression1 la valeur de expression1& expression2.

<< (décalage gauche au niveau du bit)

Convertit expression1 et expression2 en entiers 32 bits et décale tous les bits de expression1 vers la gauche du nombre d'unités spécifié par l'entier résultant de la conversion de expression2.

<<= (décalage gauche au Cet opérateur effectue un décalage vers la gauche au niveau du bit (<<) et stocke niveau du bit et ensuite le contenu dans expression1. affectation)

~ (NOT au niveau du bit) Connu également sous la forme de complément d'opérateur du un ou opérateur de

complément au niveau du bit.

| (OR au niveau du bit)

Convertit expression1 et expression2 en entiers 32 bits non signés et renvoie un

1 pour chaque position de bit où les bits correspondants de expression1 ou expression2 ont la valeur 1.

|= (affectation OR au niveau du bit)

Affecte à expression1 la valeur de expression1 | expression2.

>> (décalage droit au niveau du bit)

Convertit expression1 et expression2 en entiers 32 bits et décale tous les bits de expression1 vers la droite du nombre d'unités spécifié par l'entier résultant de la conversion de expression2.

>>= (décalage droit au

Cet opérateur effectue un décalage vers la droite au niveau du bit et stocke ensuite le contenu dans expression1.

niveau du bit et affectation)

>>> (décalage droit non signé au niveau du bit)

Identique à l'opérateur de décalage droit au niveau du bit (>>), sauf qu'il ne préserve pas le signe de l'expression d'origine, car les bits de gauche sont toujours remplacés par des 0. Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule.

>>>= (décalage droit non

^ (XOR au niveau du bit) Convertit expression1 et expression2 en entiers 32 bits non signés et renvoie un 1 pour

chaque position de bit où les bits correspondants de expression1 ou expression2, mais pas les deux, ont la valeur 1.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 74

Eléments du langage ActionScript

commentaires sur une ligne)

Effectue une opération booléenne sur les valeurs de l'une ou des deux expressions.

Déconseillé depuis Flash Player 5. Adobe recommande d'utiliser l'opérateur logique AND (&&).

Effectue une opération logique AND (&&) dans Flash Player 4.

Affecte à expression1 la valeur de expression1 - expression2.

Flash Lite 1.x, vous devez utiliser l'opérateur add pour concaténer des chaînes. Utilisation 2 : Cette instruction additionne les entiers 2 et 3, puis affiche l'entier obtenu, 5, dans le panneau Sortie : trace(2 + 3); // output: 5

Cette instruction additionne les nombres à virgule flottante 2.5 et 3.25 puis affiche le nombre obtenu, 5.75 dans le panneau Sortie : trace(2.5 + 3.25); // output: 5.75

Utilisation 3 : Le type de données des variables associées aux champs texte dynamique et de saisie est String. Dans l'exemple suivant, la variable deposit est un champ texte de saisie sur la scène. Lorsque l'utilisateur a entré un nombre pour la variable deposit, le script tente d'additionner deposit à oldBalance. Toutefois, étant donné que le type de données de deposit est String, le script concatène les valeurs de variable (les associe pour former une chaîne) au lieu de les additionner. var oldBalance:Number = 1345.23; var currentBalance = deposit_txt.text + oldBalance; trace(currentBalance);

Par exemple, si un utilisateur entre 475 dans le champ texte deposit, la fonction trace() envoie la valeur 4751345,23 vers le panneau Sortie. Pour y remédier, utilisez la fonction Number() pour convertir la chaîne en nombre de la manière suivante : var oldBalance:Number = 1345.23; var currentBalance:Number = Number(deposit_txt.text) + oldBalance; trace(currentBalance);

L'exemple suivant montre que les sommes numériques à droite d'une expression de type String ne sont pas calculées : var a:String trace(a); // var b:String trace(b); //

Vous pouvez incorporer des crochets pour représenter les tableaux multi-dimensionnels. Vous pouvez incorporer les tableaux jusqu'à 256 niveaux. Le code suivant crée un tableau appelé ticTacToe comportant trois éléments correspondant tous à un tableau de trois éléments : var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; // Select Debug > List Variables in test mode // to see a list of the array elements. Vous pouvez utiliser le code ActionScript suivant pour passer en boucle sur tous les objets du domaine _root ce qui est particulièrement utile en vue du débogage : for (i in _root) { trace(i+": "+_root[i]); }

Vous pouvez également utiliser l'opérateur d'accès au tableau ([]) dans la partie gauche d'une instruction d'affectation pour définir de façon dynamique les noms d'objet, de variable et d'occurrence : employee_array[2] = "Sam";

0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou

0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent également leurs chiffres les plus importants. La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée est un entier compris entre -2147483648 et 2147483647. Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 82

L'exemple suivant illustre le comportement de la conversion de la valeur renvoyée : trace(0xFFFFFFFF); trace(0xFFFFFFFF & trace(0xFFFFFFFF & trace(4294967295 & trace(4294967295 &

0xFFFFFFFF); // -1 Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647. Disponibilité Flash Lite 2.0 Opérandes expression1 : Number - Nombre ou expression à décaler vers la gauche. expression2 : Number - Nombre ou expression à convertir en entier compris entre 0 et 31.

10000000000 en binaire, et 10000000000 en binaire est 1024 en décimal. Dans l'exemple suivant, l'entier 7 est décalé de 8 bits vers la gauche : x = 7 << 8 Le résultat de cette opération est x = 1792. Ce résultat est dû au fait qu'un 7 décimal égale un 111 binaire, le 111 binaire décalé de 8 bits à gauche est 11100000000 en binaire, et 11100000000 en binaire est 1792 en décimal. Si vous suivez l'exemple suivant, vous remarquez que les bits ont été déplacés de deux espaces vers la gauche :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 84

Eléments du langage ActionScript

Convertit l'expression en un entier signé de 32 bits, puis applique un complément à un au niveau du bit. Ainsi, tout bit

0 devient 1 et inversement. Le résultat est un nouvel entier signé de 32 bits.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 85

Eléments du langage ActionScript

Par exemple, la valeur hexadécimale 0x7777 est représentée de la façon suivante en binaire : 0111011101110111

La négation au niveau du bit de cette valeur hexadécimale, ~0x7777, renvoie : 1000100010001000 En hexadécimal, ceci se traduit par 0x8888. Par conséquent, ~0x7777 donne 0x8888. L'utilisation la plus répandue des opérateurs au niveau du bit consiste à représenter les bits indicateurs (valeurs booléennes contractées sur 1 bit). Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée est un entier compris entre -2147483648 et 2147483647. Disponibilité Flash Lite 2.0 Opérandes expression : Number - Nombre. Eléments du langage ActionScript

|, opérateur OR au niveau du bit expression1 | expression2

Convertit expression1 et expression2 en entiers 32 bits non signés et renvoie un 1 pour chaque position de bit où les bits correspondants de expression1 ou expression2 ont la valeur 1. Les nombres à virgule flottante sont convertis en entiers en supprimant tous les chiffres situés après la virgule. Le résultat est un nouvel entier de 32 bits.

Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647. Disponibilité Flash Lite 2.0 Opérandes expression1 : Number - Nombre. expression2 : Number - Nombre. Pour préserver le signe de l'expression d'origine, les bits situés à gauche sont remplacés par des 0 si le bit le plus significatif (le bit le plus à gauche) de expression1 est 0, et par des 1 si le bit le plus significatif est 1. Le décalage d'une valeur d'une unité équivaut à une division par 2 et au rejet du reste. Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647. Disponibilité Flash Lite 2.0 Opérandes expression1 : Number - Nombre ou expression à décaler vers la droite.

Cet opérateur effectue un décalage vers la droite au niveau du bit et stocke ensuite le contenu dans expression1.

Les deux instructions suivantes sont équivalentes : A >>= B; and A = (A >> B);

01111111111111111111111111111111 en binaire, soit l'entier 32 bits 2147483647. Voir aussi Opérateur >>= de décalage droit au niveau du bit et d'affectation

Opérateur >>>= de décalage droit non signé au niveau du bit et d'affectation expression1 >>>= expression2

Effectue un décalage vers la droite au niveau du bit non signé et stocke ensuite le contenu dans expression1. Les deux instructions suivantes sont équivalentes :

A >>>= B; and A = (A >>> B);

0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou

0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647. Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 91

/* comment */ /* comment comment */

Démarque une ou plusieurs lignes de commentaires de script. Tout caractère qui s'affiche entre la balise ouvrante de commentaires (/*) et la balise fermante (*/) est interprété en tant que commentaire et ignoré par l'interprète d'ActionScript. Préférez l'opérateur // (séparateur de commentaires) pour les commentaires sur une ligne. Retenez l'opérateur /* pour identifier les commentaires répartis sur plusieurs lignes. L'omission de la balise fermante (*/) renvoie un message d'erreur. Le fait d'incorporer plusieurs balises de commentaires les unes dans les autres renvoie

également un message d'erreur. Ainsi, lorsque vous utilisez une balise ouvrante (/*), la première balise fermante (*/) termine ce commentaire, quel que soit le nombre de balises (/*) intercalées. Disponibilité Flash Lite 1.0 Opérandes comment - Tout caractère. Exemple Le script suivant utilise des séparateurs de commentaires au début du script : /* records the X and Y positions of the ball and bat movie clips */ var ballX:Number = ball_mc._x; var ballY:Number = ball_mc._y; var batX:Number = bat_mc._x; var batY:Number = bat_mc._y;

La tentative d'incorporation suivante de plusieurs balises de commentaires les unes dans les autres renvoie un message d'erreur :

/* this is an attempt to nest comments. Avec une largeur et une hauteur de scène de 550 x 400 par défaut, on obtient les valeurs 275 et 150. Voir aussi %, opérateur modulo • Les expressions de type String sont égales lorsqu'elles comportent le même nombre de caractères et que ces caractères sont identiques.

• Les variables représentant des objets, des tableaux et des fonctions sont comparées par référence. Deux variables sont égales lorsqu'elles font référence au même objet, au même tableau ou à la même fonction. Deux tableaux distincts ne sont jamais considérés comme égaux, même s'ils comportent le même nombre d'éléments.

Lorsque la comparaison porte sur la valeur, si expression1 et expression2 ont un type de données différent, ActionScript tente de convertir le type de données de expression2 pour le faire correspondre à celui de expression1. Disponibilité Flash Lite 1.0 Opérandes expression1 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. expression2 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. • Les objets, les tableaux et les fonctions sont comparés par référence. • Une variable est comparée par valeur ou par référence, en fonction de son type. La comparaison par valeur, comme son nom l'indique, signifie que deux expressions ont la même valeur. Par exemple, l'expression (2 + 3) est égale à l'expression (1 + 4) lorsque la comparaison porte sur la valeur. La comparaison par référence signifie que deux expressions ne sont égales que si elles font toutes deux référence au même objet, tableau ou fonction. Les valeurs figurant dans l'objet, le tableau ou la fonction ne sont pas comparées. Lorsque la comparaison porte sur la valeur, si expression1 et expression2 ont un type de données différent, ActionScript tente de convertir le type de données de expression2 pour le faire correspondre à celui de expression1.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 104

Eléments du langage ActionScript

• Les objets, les tableaux et les fonctions sont comparés par référence.

• Les variables sont comparées par valeur ou par référence, en fonction de leur type. Disponibilité Flash Lite 1.0 Opérandes expression1 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. expression2 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. // comment

Signale le début d'un commentaire de script. Tout caractère qui s'affiche entre le séparateur de commentaires (//)et le caractère de fin de ligne est interprété en tant que commentaire et ignoré par l'interprète d'ActionScript.

Disponibilité Flash Lite 1.0 Opérandes comment - Tout caractère.

Si vous utilisez un appel de fonction en tant qu'expression2, la fonction ne sera pas exécutée par cet appel si expression1 renvoie true.

Le résultat est true si l'une des expressions, voire les deux, renvoie(nt) true. Le résultat est false si et uniquement si les deux expressions renvoient false. Vous pouvez utiliser l'opérateur OR logique avec autant d'opérandes que nécessaire. Si l'un des opérandes renvoie true, le résultat est true. Disponibilité Flash Lite 1.0 Opérandes expression1 : Number - Valeur booléenne ou expression qui se convertit en valeur booléenne. expression2 : Number - Valeur booléenne ou expression qui se convertit en valeur booléenne.

Utilisation 2 : Evalue une série d'expressions, séparées par des virgules, dans la séquence et renvoie le résultat de l'expression finale.

Utilisation 3 : Entoure un ou plusieurs paramètres et les transmet en tant que paramètres à la fonction située en dehors des parenthèses. Disponibilité Flash Lite 1.0 Opérandes expression1 : Object - Nombres, chaînes, variables ou texte. expression2 : Object - Nombres, chaînes, variables ou texte. function : Function - Fonction à exécuter sur le contenu des parenthèses. parameter1...parameterN : Object - Série de paramètres à exécuter avant de transmettre les résultats sous forme de paramètres à la fonction située en dehors des parenthèses.

• Les nombres ou les valeurs booléennes sont considérés comme égaux lorsque leur valeur est identique.

• Les expressions de type String sont égales lorsqu'elles comportent le même nombre de caractères et que ces caractères sont identiques.

• Les variables représentant des objets, des tableaux et des fonctions sont comparées par référence. Deux variables sont égales lorsqu'elles font référence au même objet, au même tableau ou à la même fonction. Deux tableaux distincts ne sont jamais considérés comme égaux, même s'ils comportent le même nombre d'éléments.

Disponibilité Flash Lite 2.0 • Les valeurs booléennes, les nombres et les chaînes sont comparés en fonction de leur valeur. • Les objets, les tableaux et les fonctions sont comparés par référence.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 120

Eléments du langage ActionScript

• Une variable est comparée par valeur ou par référence, en fonction de son type.

Disponibilité Flash Lite 2.0 Utilisation 2 : Lorsqu'il est utilisé pour la soustraction, il effectue une soustraction arithmétique sur deux expressions numériques, en soustrayant expression2 de expression1. Lorsque les deux expressions sont des entiers, la différence est un entier. Lorsque l'une ou les deux expressions sont des nombres à virgule flottante, la différence est un nombre à virgule flottante. Disponibilité Flash Lite 1.0 Opérandes expression1 : Number - Nombre ou expression évaluée sous forme de nombre. expression2 : Number - Nombre ou expression évaluée sous forme de nombre. GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 122 Eléments du langage ActionScript

-=, opérateur d'affectation de soustraction expression1 -= expression2

Affecte à expression1 la valeur de expression1 - expression2. Par exemple, les deux instructions suivantes sont

Un type est une fonction de compilation uniquement. Tous les types sont vérifiés lors de la compilation et des erreurs sont générées en cas d'incompatibilité. Les incompatibilités peuvent se produire pendant les opérations d'affectation, les appels de fonction et les ruptures de référence des membres de classe avec l'opérateur point (.). Pour éviter les erreurs liées aux incompatibilités, appliquez le typage strict des données.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 123

Eléments du langage ActionScript

Les types utilisables incluent tous les types d'objet, les classes et les interfaces natifs que vous avez définis, ainsi que

Function et Void. Les types natifs reconnus sont Boolean, Number et String. Toutes les classes intégrées sont également prises en charge en tant que types natifs. Disponibilité Flash Lite 2.0 Opérandes variableName : Object - Identificateur d'une variable. type : Type de données natif, nom de classe que vous avez défini ou nom d'interface. functionName : Identificateur d'une fonction. parameter : Identificateur d'un paramètre de fonction. Définit le cas par défaut d'une instruction switch.

Remarque : Vous devez toujours compléter le paramètre statement(s) par une instruction break. Si vous omettez l'instruction break dans le paramètre statement(s), l'exécution continue avec l'instruction case suivante au lieu de sortir de l'instruction switch. Disponibilité Flash Lite 1.0 Paramètres expression:String - Toute expression. Stagiaire, le fichier qui définit la classe doit s'appeler Stagiaire.as. Si une classe appartient à un package, la déclaration de classe doit appliquer le nom de classe entièrement qualifié de la forme base.sub1.sub2.MyClass. De même, le fichier AS de la classe doit être stocké avec son chemin dans une structure d'adresse reflétant la structure du package, telle que base/sub1/sub2/MyClass.as. Si une définition de classe est de forme "class MyClass", elle est dans le package par défaut et le fichier MyClass.as doit se trouver au niveau supérieur d'une adresse dans le chemin. De ce fait, il est recommandé de planifier votre structure de répertoires avant de commencer la création de classes. En effet, si vous décidez de déplacer les fichiers de classe après leur création, vous devrez modifier les instructions de déclaration de classe pour indiquer leur nouvel emplacement. Vous ne pouvez pas imbriquer des définitions de classe. En d'autres termes, vous ne pouvez pas définir de classes supplémentaires dans une définition de classe.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 129

Eléments du langage ActionScript

Pour indiquer que des objets peuvent ajouter des propriétés dynamiques lors de l'exécution et y accéder, faites précéder l'instruction class par le mot-clé dynamic. Pour déclarer qu'une classe implémente une interface, employez le mot-clé implements. Pour créer des sous-classes d'une classe, employez le mot-clé extends. (Une classe ne peut étendre qu'une seule autre classe, mais peut implémenter plusieurs interfaces.) Vous pouvez employer implements et extends dans la même instruction. Les exemples suivants présentent des emplois typiques des mots-clés implements et extends : class C implements Interface_i, Interface_j // OK class C extends Class_d implements Interface_i, Interface_j // OK

L'instruction var ne vous permet pas de supprimer d'objets et de propriétés prédéfinis, ni de variables déclarées au sein d'une fonction. Vous ne pouvez pas utiliser l'opérateur delete pour supprimer des clips.

Disponibilité Flash Lite 2.0 Valeur renvoyée également se faire avec une boucle while en plaçant une copie des instructions à exécuter avant le début de la boucle while, de nombreux programmeurs trouvent les boucles do..while plus faciles à lire. Si la condition renvoie toujours true, la boucle do..while est infinie. Si vous activez une boucle infinie, vous subirez des problèmes au niveau de Flash Player et recevrez un message d'avertissement, voire subirez un arrêt du lecteur. Dans la mesure du possible, utilisez une boucle for si vous connaissez le nombre de répétitions de la boucle. Bien que les boucles for soient plus faciles à lire et déboguer, elles ne sont pas totalement interchangeables avec les boucles do..while. Disponibilité Flash Lite 1.0 Paramètres condition:Boolean - La condition à évaluer. Les instructions statement(s) à l'intérieur du bloc de code do sont exécutées tant que le paramètre condition renvoie true. Exemple L'exemple suivant utilise une boucle do..while afin de déterminer si une condition a la valeur true et suit myVar jusqu'à ce que la valeur de myVar soit supérieure à 5. Lorsque la valeur de myVar est supérieure à 5, la boucle se termine. var myVar:Number = 0; do { trace(myVar); myVar++; } while (myVar < 5); /* output: GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 135 Eléments du langage ActionScript Les interfaces peuvent également être développées avec le mot-clé extends. Toute interface qui étend une autre interface reprend toutes les déclarations de méthode de l'interface d'origine. Disponibilité Flash Lite 2.0 Paramètres className:String - Nom de la classe en cours de définition. Exemple Dans l'exemple suivant, la classe Car étend la classe Vehicle de manière à ce que toutes ses méthodes, propriétés et fonctions soient héritées. Si votre script crée une occurrence d'objet Car, les méthodes de la classe Car et de la classe Vehicle peuvent être utilisées. L'exemple suivant affiche le contenu d'un fichier intitulé Vehicle.as, qui définit la classe Vehicle : class Vehicle { var numDoors:Number; var color:String; function Vehicle(param_numDoors:Number, param_color:String) { this.numDoors = param_numDoors; this.color = param_color; } function start():Void { trace("[Vehicle] start"); } function stop():Void { trace("[Vehicle] stop"); Eléments du langage ActionScript

énumérés, contrairement aux membres d'occurrences.

L'instruction for.. effectue une itération sur les propriétés des objets dans le chaînage de prototype de l'objet itéré. Les propriétés de l'objet sont énumérées en premier, puis les propriétés de son prototype immédiat, puis les propriétés du prototype du prototype, etc. L'instruction for..in n'énumère pas deux fois le même nom de propriété. Si l'objet child comporte un prototype parent et que tous deux contiennent la propriété prop, l'instruction for..in appelée pour child énumère les propriétés prop de child mais ignore celles de parent. Les accolades ({}), qui servent normalement à entourer le bloc d'instructions que l'instruction for..in doit exécuter, peuvent être omises si une seule instruction s'exécute. Si vous écrivez une boucle for..in dans un fichier de classe (un fichier externe AS), les membres de l'occurrence ne sont plus disponibles pour la boucle, contrairement aux membres statiques. Cependant, si vous écrivez une boucle for..in dans un fichier FLA pour une occurrence de la classe, les membres de l'occurrence restent disponibles, contrairement aux membres statiques. Disponibilité Flash Lite 2.0 Paramètres variableIterant:String - Nom d'une variable devant servir d'itération, référençant chaque propriété d'un objet ou d'un élément dans un tableau. Exemple L'exemple suivant énumère les enfants d'un clip et les envoie à l'image 2 de leurs scénarios respectifs. Le clip RadioButtonGroup est un parent ayant plusieurs enfants, _RedRadioButton_, _GreenRadioButton_, et _BlueRadioButton_. for (var name in RadioButtonGroup) { RadioButtonGroup[name].gotoAndStop(2); }

function, instruction

Utilisez l'instruction return dans le paramètre statement(s) d'une fonction pour que cette dernière génère ou renvoie une valeur. Vous pouvez utiliser cette instruction pour définir une fonction ayant les paramètres spécifiés functionname, parameters et statement(s). Lorsqu'un script appelle une fonction, les instructions figurant dans la définition de la fonction s'exécute. Les références anticipées sont autorisées. Dans un script, une fonction peut être déclarée après son appel. Une définition de fonction remplace toute définition précédente de la même fonction. Vous pouvez utiliser cette syntaxe dans toutes les circonstances où une instruction est autorisée. Vous pouvez également utiliser cette instruction pour créer une fonction anonyme et lui renvoyer une référence. Cette syntaxe est utilisée dans des expressions et est particulièrement utile pour l'installation des méthodes dans les objets. Pour bénéficier de fonctionnalités supplémentaires, vous pouvez utiliser l'objet arguments dans votre définition de fonction. Certaines utilisations communes de l'objet arguments créent une fonction qui accepte un nombre variable de paramètres et créent une fonction anonyme récursive. Disponibilité Flash Lite 2.0 Valeur renvoyée String - Utilisation 1 : Le formulaire de déclaration ne doit rien renvoyer. Utilisation 2 : référence à la fonction anonyme. Object.addProperty() dans ActionScript 1. Disponibilité Flash Lite 2.0 Paramètres property:String - Mot que vous utilisez pour faire référence à la propriété qui est lue par get ; cette valeur doit être identique à celle utilisée dans la commande set correspondante. Exemple Dans l'exemple suivant, vous définissez une classe Team. La classe Team inclut les méthodes get/set qui vous permettent de récupérer et de définir les propriétés au sein de la classe :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 143

Eléments du langage ActionScript

Permet d'accéder aux classes sans spécifier leur nom complet, avec qualificatifs. Par exemple, si vous souhaitez utiliser une classe personnalisée, telle que macr.util.users.UserClass, dans un script, vous devez y faire référence avec son nom suivi de tous ses attributs ou l'importer. Si vous l'importez, vous pouvez y faire référence avec le nom de classe :

// before importing var myUser:macr.util.users.UserClass = new macr.util.users.UserClass(); // after importing import macr.util.users.UserClass; var myUser:UserClass = new UserClass();

Lorsque le package contient plusieurs fichiers de classe (working_directory/macr/utils/users) auxquels vous devez accéder, vous pouvez les importer tous dans une instruction unique, comme indiqué dans l'exemple suivant : import macr.util.users.*;

Si vous importez une classe, mais ne l'utilisez pas dans votre script, cette dernière n'est pas exportée avec le fichier SWF. Ceci signifie que vous pouvez importer des packages volumineux sans vous soucier de la taille du fichier SWF. Le pseudo-code binaire associé à une classe n'est inclus dans un fichier SWF que si cette classe est véritablement utilisée. L'instruction import s'applique uniquement au script courant (image ou objet) dans lequel elle est appelée. Par exemple, supposons que vous deviez importer l'ensemble des classes du package macr.util dans l'image 1 d'un document Flash. Dans cette image, vous pouvez faire référence aux classes de ce package par leur nom simple : // On Frame 1 of a FLA: import macr.util.*; var myFoo:foo = new foo();

Dans un autre script d'image, cependant, vous devez faire référence aux classes de ce package par leur nom suivi de tous leurs attributs (var myFoo:foo = new macr.util.foo();) ou ajouter une instruction import à l'image qui importe les classes dans ce package.

Disponibilité • Les interfaces contiennent uniquement les déclarations des méthodes, pas leur implémentation. Ainsi, toute classe qui implémente une interface doit fournir une implémentation pour chaque méthode déclarée dans l'interface.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 146

Eléments du langage ActionScript

• Seuls les membres publics sont autorisés dans la définition d'une interface. Les instances et les membres de classe ne sont pas permis.

• Les instructions get et set ne sont pas autorisées dans les définitions d'interface.

Exemple L'exemple suivant présente plusieurs façons de définir et d'implémenter des interfaces : (in top-level package .as files Ia, B, C, Ib, D, Ic, E) // filename Ia.as interface Ia { function k():Number; // method declaration only function n(x:Number):Number; // without implementation Le mot-clé intrinsic a été spécialement créé pour permettre la vérification des types de classes et objets intégrés, ainsi que des variables et des fonctions lors de la compilation. Ce mot-clé n'est pas destiné à un usage général mais peut s'avérer utile pour les développeurs qui cherchent à autoriser la vérification des types lors de la compilation à l'aide de classes définies précédemment, notamment ci celles-ci sont définies via ActionScript 1.0. Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions. Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 148

Vous pouvez éviter cette erreur en modifiant le paramètre pour le définir sur une valeur de type Number (par exemple, en changeant "10" par 10). // The following code must be placed in a file named Circle.as // that resides within your classpath: intrinsic class Circle { var radius:Number; function Circle(radius:Number); function getArea():Number; function getDiameter():Number; function setRadius(param_radius:Number):Number; } Spécifie qu'une variable ou une fonction est disponible uniquement pour la classe qui la déclare ou la définit, ou pour les sous-classes de cette classe. Par défaut, une variable ou une fonction est disponible à tout appelant. Utilisez ce motclé si vous devez restreindre l'accès à une variable ou une fonction. Ce mot-clé est réservé aux définitions de classe et ne permet pas de créer des définitions d'interface. Disponibilité Flash Lite 2.0 Paramètres name:String - Nom de la variable ou de la fonction à spécifier en tant que privée. Exemple L'exemple suivant démontre comment masquer certaines propriétés au sein d'une classe à l'aide du mot-clé private. Créez un fichier AS intitulé Login.as. class Login { private var loginUserName:String; private var loginPassword:String; public function Login(param_username:String, param_password:String) { this.loginUserName = param_username; this.loginPassword = param_password; } public function get username():String { return this.loginUserName; Login.as. Les tentatives d'accès à la variable privée génèrent un message d'erreur. Voir aussi public, instruction

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 150

Eléments du langage ActionScript Vous ne pouvez pas renvoyer des valeurs multiples. En effet, seule la dernière valeur est renvoyée. Dans l'exemple suivant, la valeur c est renvoyée :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 151

Eléments du langage ActionScript

Le typage strict des données n'est pas pris en charge dans une instruction set. Si vous utilisez cette instruction pour définir une variable sur une valeur dont le type de données diffère du type associé à cette variable dans un fichier de classe, aucune erreur de compilation n'est générée.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 153

Eléments du langage ActionScript

Il est important de noter que le paramètre variableString est une chaîne et non pas un nom de variable. Si vous transmettez une variable existante en tant que premier paramètre à set() sans le placer entre guillemets (""), la variable est évaluée avant que la valeur d'expression ne lui soit affectée. Par exemple, si vous créez une variable de type chaîne appelée myVariable et lui affectez la valeurTuesday sans mettre cette dernière entre guillemets, vous créez une nouvelle variable appelée Tuesday et contenant la valeur normalement destinée à myVariable : var myVariable:String = "Tuesday"; set (myVariable, "Saturday"); trace(myVariable); // outputs Tuesday trace(Tuesday); // outputs Saturday

Pour remédier à cette situation, incluez les guillemets ("") : set ("myVariable", "Saturday"); trace(myVariable); //outputs Saturday

Vous pouvez accéder à un membre de classe statique sans créer d'occurrence de la classe en utilisant la syntaxe someClassName.name. Si vous créez une occurrence de la classe, vous pouvez également accéder à un membre statique en utilisant l'occurrence, mais uniquement par le biais d'une fonction non statique qui accède au membre statique.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 154

Eléments du langage ActionScript

Ce mot-clé est réservé aux définitions de classe et ne permet pas de créer des définitions d'interface.

Disponibilité Flash Lite 2.0 Paramètres name:String - Nom de la variable ou de la fonction à spécifier en tant que publique. Exemple L'exemple suivant présente l'utilisation du mot-clé static pour créer un compteur chargé de suivre le nombre d'occurrences de la classe créées. La variable numInstances étant statique, elle ne sera créée qu'une fois pour l'ensemble de la classe, pas pour chaque occurrence. Créez un nouveau fichier AS intitulé Users.as et entrez le code suivant : class Users { private static var numInstances:Number = 0; function Users() { numInstances++; } static function get instances():Number { return numInstances; } La variable d'un gestionnaire catch peut également être typée. Lorsqu'elles sont utilisées en conjonction avec plusieurs blocs catch, les erreurs typées permettent d'intercepter plusieurs types d'erreur à partir d'un bloc try unique. Si l'exception renvoyée est un objet, le type correspond lorsque l'objet renvoyé constitue une sous-classe du type spécifié. Si une erreur de type spécifique est renvoyée, le bloc catch qui traite l'erreur correspondante s'exécute. Si l'exception renvoyée n'est pas du type spécifié, le bloc catch ne s'exécute pas et l'exception est renvoyée automatiquement du bloc try, à destination du gestionnaire catch correspondant. Si une erreur est renvoyée au sein d'une fonction et si cette fonction n'inclut pas de gestionnaire catch, l'interprète d'ActionScript quitte alors cette fonction, ainsi que toute fonction appelante, jusqu'à ce qu'il détecte un bloc catch. Pendant ce processus, les gestionnaires finally sont appelés à tous les niveaux. Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 158

Si une erreur se produit, elle est renvoyée et interceptée par le bloc catch. Le bloc finally est toujours exécuté, qu'une erreur se produise ou non. Etant donné que la méthode setInterval() est utilisée, clearInterval() doit être placé dans le bloc finally afin de s'assurer que l'intervalle est supprimé de la mémoire. myFunction = function () { trace("this is myFunction"); }; try { myInterval = setInterval(this, "myFunction", 1000); throw new Error("my error"); } catch (myError:Error) { trace("error caught: "+myError); } finally { clearInterval(myInterval); trace("error is cleared"); Dans le répertoire du fichier Account.as, créez un nouveau document FLA et entrez le code ActionScript suivant dans l'image 1 du scénario : import Account; var account:Account = new Account(); try { var returnVal = account.getAccountInfo(); if (returnVal != 0) { throw new Error("Error getting account information."); } trace("success"); } catch (e) { this.createTextField("status_txt", this.getNextHighestDepth(), 0, 0, 100, 22); status_txt.autoSize = true; status_txt.text = e.toString(); } Chacune d'entre elles est définie dans son propre fichier de classe AS. // In RecordSetException.as: class RecordSetException extends Error { var message = "Record set exception occurred."; } // In MalformedRecord.as: class MalformedRecord extends Error { var message = "Malformed record exception occurred."; Si vous déclarez des variables en dehors d'une fonction, elles restent disponibles tout au long du scénario contenant l'instruction. Vous ne pouvez pas déclarer une variable dont le domaine est limité à un autre objet en tant que variable locale. my_array.length = 25; // ok var my_array.length = 25; // syntax error

Lorsque vous utilisez var, vous pouvez typer la variable de façon stricte.

Vous pouvez déclarer plusieurs variables dans une instruction, en séparant les déclarations par des virgules (bien que cette syntaxe puisse réduire la clarté du code) : var first:String = "Bart", middle:String = "J.", last:String = "Bartleby";

Remarque : Vous devez également utiliser var lorsque vous déclarez des propriétés au sein de définitions de classe dans les scripts externes. Les fichiers de classe prennent également en charge des domaines de variables publics, privés et statiques.

Disponibilité Flash Lite 2.0 • Si condition renvoie true ou une valeur convertie en valeur booléenne true, telle qu'un nombre différent de zéro, passez à l'étape 3. Sinon, l'instruction while se termine et l'exécution reprend au niveau de l'instruction qui suit la boucle while.

• Exécutez le bloc d'instructions statement(s).

• Passez à l'étape 1. Les boucles permettent d'exécuter une action tant que la valeur de la variable de décompte est inférieure à la valeur spécifiée. A la fin de chaque boucle, le compteur est incrémenté jusqu'à ce qu'il atteigne la valeur maximale spécifiée. A ce stade, condition n'a plus la valeur true et la boucle se termine. Les accolades ({}), qui servent normalement à entourer le bloc d'instructions que l'instruction while doit exécuter, peuvent être omises si une seule instruction s'exécute. Disponibilité Flash Lite 1.0 Paramètres condition:Boolean - Une expression qui renvoie true ou false. Le résultat suivant s'affiche dans le panneau Sortie.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 162

Eléments du langage ActionScript

Par exemple, si object est my_array et si deux des propriétés spécifiées sont length et concat, ces propriétés sont automatiquement lues comme my_array.length et my_array.concat. Un autre exemple, si object est state.california, toutes les actions et instructions contenues dans l'instruction with sont appelées de l'intérieur de l'occurrence california.

Pour déterminer la valeur d'un identificateur dans le paramètre statement(s), ActionScript commence au début de la chaîne de domaine spécifiée par object et recherche l'identificateur à tous les niveaux de la chaîne de domaine, selon un ordre spécifique. La chaîne de domaine utilisée par l'instruction with pour résoudre les identificateurs commence par le premier élément dans la liste suivante et se poursuit jusqu'au dernier :

• L'objet spécifié dans le paramètre object dans l'instruction with de plus bas niveau.

• L'objet spécifié dans le paramètre object dans l'instruction with de plus haut niveau. • Objet Activation. (Un objet temporaire qui est créé automatiquement lorsqu'une fonction est appelée et contient les variables locales appelées par la fonction.)

• Le clip qui contient le script en cours d'exécution.

• L'objet Global (objets intégrés tels que Math et String). Pour définir une variable dans une instruction with, vous devez avoir déclaré cette variable en dehors de l'instruction with ou vous devez entrer le chemin complet du scénario cible de la variable. Si vous définissez une variable dans une instruction with sans la déclarer, l'instruction with recherche la valeur en fonction de la chaîne de domaine. Si la variable n'existe pas, la nouvelle valeur est définie sur le scénario ayant servi à appeler l'instruction with. Vous pouvez utiliser des chemins directs pour éviter with(). Si les chemins sont longs et difficiles à taper, créez une variable locale et enregistrez le chemin dans cette dernière. Vous pourrez alors le réutiliser dans votre code, comme indiqué dans le code ActionScript suivant. var shortcut = this._parent._parent.name_txt; shortcut.text = "Hank"; shortcut.autoSize = true;

Flash Lite 2.0 Remarque : Cette fonctionnalité dépend du système. Par exemple, certains systèmes limitent la durée totale de prolongement du rétroéclairage. Remarque : Cette commande n'est pas prise en charge pour les périphériques BREW. Commande

rétroéclairage, en secondes. Valeur maximum de 60 secondes.

0: Une erreur s'est produite et l'opération n'a pas pu se terminer.

Remarque : Cette commande est prise en charge uniquement lorsque Flash Lite est en cours d'exécution en mode autonome. Elle n'est pas prise en charge lorsque le lecteur s'exécute dans le contexte d'une autre application (par exemple, en tant que module externe dans un navigateur).

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 166

Eléments du langage ActionScript

Eléments du langage ActionScript

1 : succès. Renvoie le nom de la connexion réseau par

1 : le périphérique tente de se connecter au réseau.

2 : aucune connexion réseau n'est actuellement

3 : la connexion réseau a été interrompue. Eléments du langage ActionScript

1 : le réseau est enregistré, mais le

Si le réseau est enregistré et si son nom peut nom de réseau est inconnu.

être déterminé, la variable networkname est 2 : le réseau est enregistré et le nom définie sur le nom du réseau. Sinon, cette de réseau est connu. chaîne reste vide.

1 : une requête est en attente et une connexion réseau

est en cours d'établissement.

2 : une requête est en attente, mais la connexion réseau

n'a pas encore été établie.

3 : une requête est en attente, une connexion réseau a

été établie et le nom d'hôte du serveur est en cours de résolution.

4 : la requête a échoué à cause d'une erreur réseau. 5 : la requête a échoué en raison d'un échec de

connexion au serveur.

6 : le serveur a renvoyé une erreur HTTP (par exemple,

7 : la requête a échoué en raison de l'échec de l'accès au

DNS ou lors de la résolution du nom de serveur.

8 : la requête a été complétée avec succès. 9 : la requête a échoué à cause du dépassement du délai. 10 : la requête n'a pas encore été créée.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 172

Eléments du langage ActionScript

0 : prise en charge.

1 : le périphérique est alimenté par une source

2: touches programmables en bas.

3: touches programmables à droite.

de la mémoire heap.

Flash Lite 1.1 Exemple Les arguments de cette commande spécifient le texte à afficher pour les touches programmables correspondantes. Lorsque la commande SetSoftKeys s'exécute, le fait d'appuyer sur la touche gauche génère un événement de pression de touche SOFT1 et le fait d'appuyer sur la touche droite génère un évènement de pression de touche SOFT2. Les touches programmables allant de SOFT3 à SOFT12 génèrent leurs propres événements.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 179

Eléments du langage ActionScript

Remarque : La reconfiguration des touches programmables dépend du périphérique mobile. Consultez la documentation du fabricant du périphérique pour déterminer si la reconfiguration est prise en charge.

-1 : pas de prise en charge.

0 : prise en charge.

Ces paramètres peuvent être soit des noms de variable, soit des valeurs constantes de type chaîne (par exemple,

"Previous"). • Pour ne pas modifier l'étiquette de la touche programmable de gauche et définir la touche programmable de droite sur « soft2 » : status = fscommand2("SetSoftKeys", undefined, "soft2")

• Pour ne pas modifier l'étiquette de la touche programmable de gauche et définir la touche programmable de droite sur « soft2 » : status = fscommand2("SetSoftKeys", null, "soft2")

• Pour définir la touche programmable de gauche sur « soft1 » et conserver la touche de droite telle quelle : status = fscommand2("SetSoftKeys", "soft1")

Commande fscommand2 StartVibrate

également lorsque la lecture de l'application Flash s'arrête ou est interrompue, et lorsque le lecteur Flash Lite s'arrête.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 180

Eléments du langage ActionScript

time_off Durée, en millisecondes (5 secondes au

maximum), de désactivation de la vibration.

0 : la vibration a été activée.

1 : une erreur s'est produite et la

vibration n'a pas pu être activée.

repeat Nombre de répétitions (3 au maximum) de

Flash Lite 1.1 Exemple à la fonction. Sachez que le nombre d'arguments transmis peut différer de celui ayant été déclaré par la fonction. Disponibilité Flash Lite 2.0 Voir aussi Résumé de la méthode Méthodes héritées de la classe Object

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 182

Classes ActionScript

Tous les tableaux indexés sont basés sur zéro, ce qui signifie que le premier élément du tableau est [0], le deuxième est

[1], etc. Pour créer un objet Array, utilisez le constructeur new Array(). Pour accéder aux éléments d'un tableau, utilisez l'opérateur d'accès au tableau ([]). Vous pouvez stocker divers types de données dans un élément de tableau, y compris les nombres, les chaînes, les objets et même d'autres tableaux. Vous pouvez créer un tableau multidimensionnel en concevant un tableau indexé et en affectant à chacun de ses éléments un tableau indexé différent. Ce type de tableau est considéré comme étant miltidimensionnel car il peut être utilisé pour représenter des données dans un tableau. L'affectation au tableau s'effectue par référence plutôt que par valeur : lorsque vous affectez une variable de tableau à une autre variable de tableau, elles renvoient toutes deux au même tableau : var oneArray:Array = new Array("a", "b", "c"); var twoArray:Array = oneArray; // Both array variables refer to the same array. twoArray[0] = "z"; trace(oneArray); // Output: z,b,c.

La classe Array ne doit pas être utilisée pour créer des tableaux associatifs car il s'agit de structures de données différentes qui contiennent des éléments nommés au lieu d'éléments numérotés. Il est recommandé d'utiliser la classe

Object pour créer des tableaux associatifs (également appelés hachages). Bien que ActionScript vous permette de créer des tableaux associatifs à l'aide de la classe Array, vous ne pouvez pas utiliser les méthodes ou les propriétés de cette dernière. Sous sa forme de base, un tableau associatif est une occurrence de la classe Object et chaque paire clé/valeur est représentée par une propriété et sa valeur. Vous pouvez également déclarer un tableau associatif avec le type Object pour la raison suivante : cela vous permet d'utiliser ensuite un littéral d'objet pour alimenter votre tableau associatif (uniquement au moment de la déclaration). L'exemple suivant crée un tableau associatif à l'aide d'un littéral d'objet, accède aux éléments à l'aide de l'opérateur point et d'accès au tableau, puis ajoute une nouvelle paire clé/valeur en créant une nouvelle propriété : var myAssocArray:Object = {fname:"John", lname:"Public"}; trace(myAssocArray.fname); // Output: John trace(myAssocArray["lname"]); // Output: Public myAssocArray.initial = "Q";

trace(myAssocArray.initial); // Output: Q Disponibilité

Flash Lite 2.0 Utilisation 2 : si vous spécifiez uniquement une longueur, un tableau contenant un nombre d'éléments de length est créé. La valeur de chaque élément est définie sur undefined. Utilisation 3 : Si vous utilisez les paramètres element pour spécifier des valeurs, un tableau est créé avec des valeurs spécifiques. Disponibilité Flash Lite 2.0 Paramètres valeur:Object [facultatif] - Soit : Remarque : Si un seul paramètre numérique est transmis au constructeur Array, il s'agit du paramètre length par défaut ; celui-ci est converti en entier à l'aide de la fonction Integer().

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 186

Classes ActionScript

Si les paramètres value spécifient un tableau, les éléments de celui-ci sont concaténés, au lieu du tableau lui-même. Le tableau my_array demeure inchangé.

Disponibilité Flash Lite 2.0 Paramètres valeur:Object [facultatif] - Nombres, éléments ou chaînes à concaténer dans un nouveau tableau. Si vous ne transmettez aucune valeur, une duplication de my_array est créée. Valeur renvoyée Tableau - Tableau qui contient les éléments de ce tableau suivi des éléments des paramètres. Exemple Le code suivant concatène deux tableaux : var alpha_array:Array = new Array("a","b","c"); var numeric_array:Array = new Array(1,2,3); var alphaNumeric_array:Array =alpha_array.concat(numeric_array); trace(alphaNumeric_array); Remarque : si vous affectez une valeur plus courte que la valeur existante à la propriété length, le tableau sera tronqué. Disponibilité Flash Lite 2.0 Exemple Le code suivant explique la façon dont la propriété length est mise à jour. La valeur de la longueur initiale est 0, puis 1, 2 et 10. Si vous affectez une valeur plus courte que la valeur existante à la propriété length, le tableau sera tronqué : var my_array:Array = new Array(); trace(my_array.length); // initial length is 0 my_array[0] = "a"; trace(my_array.length); // my_array.length is updated to 1 my_array[1] = "b"; trace(my_array.length); // my_array.length is updated to 2 my_array[9] = "c"; trace(my_array.length); // my_array.length is updated to 10 trace(my_array); // displays: // a,b,undefined,undefined,undefined,undefined,undefined,undefined,undefined,c // if the length property is now set to 5, the array will be truncated my_array.length = 5; trace(my_array.length); // my_array.length is updated to 5 trace(my_array); // outputs: a,b,undefined,undefined,undefined La valeur de cette constante est 8. Disponibilité Flash Lite 2.0 Voir aussi sort (méthode Array.sort), sortOn (méthode Array.sortOn)

Paramètres startIndex:Number [facultatif] - Un nombre spécifiant l'index du point de départ pour la découpe. Si start est un nombre négatif, le point de départ se trouve à la fin du tableau, où la valeur -1 est le dernier élément. endIndex:Number [facultatif] - Un nombre spécifiant l'index du point d'arrivée pour la découpe. Si vous omettez ce paramètre, la découpe inclut tous les éléments du point de départ à la fin du tableau. Si end est un nombre négatif, le point d'arrivée spécifié se trouve à la fin du tableau, où la valeur -1 est le dernier élément.

Valeur renvoyée Array - Tableau constitué d'un éventail d'éléments issus du tableau original. Exemple L'exemple suivant crée un tableau incluant cinq animaux domestiques et utilise la méthode slice() pour alimenter un nouveau tableau contenant uniquement les animaux à quatre pattes : var myPets_array:Array = new Array("cat", "dog", "fish", "canary", "parrot"); var myFourLeggedPets_array:Array = new Array(); var myFourLeggedPets_array = myPets_array.slice(0, 2); trace(myFourLeggedPets_array); // Returns cat,dog. trace(myPets_array); // Returns cat,dog,fish,canary,parrot. Si vous voulez trier un tableau à l'aide de paramètres qui ne correspondent pas aux paramètres par défaut, vous pouvez utiliser l'une des options de tri décrites dans l'entrée du paramètre options ou vous pouvez créer votre propre fonction personnalisée pour effectuer le tri. Si vous créez une fonction personnalisée, vous pouvez l'utiliser en appelant la méthode sort() et en utilisant le nom de votre fonction personnalisée en tant que premier paramètre (compareFunction). Disponibilité Flash Lite 2.0 Paramètres compareFunction:Object [facultatif] - Une fonction de comparaison utilisée pour déterminer l'ordre de tri des éléments dans un tableau. Etant donné les éléments A et B, le résultat de compareFunction peut être l'une des trois valeurs suivantes :

• -1, si A apparaît avant B dans la séquence triée

• 0, si A = B • 1, si A apparaît après B dans la séquence triée contrôle en amont:Number [facultatif] - Un ou plusieurs nombres ou noms de constantes définies, séparés par l'opérateur | (OR au niveau du bit), ce qui remplace le comportement de tri par défaut. Les valeurs suivantes sont valides pour le paramètre options :

Array - La valeur de renvoi dépend du fait que vous transmettiez ou non des paramètres, comme décrit dans la liste suivante :

• Si vous spécifiez une valeur de 4 ou Array.UNIQUESORT pour le paramètre options et si au moins deux éléments triés ont des champs de tri identiques, Flash renvoie une valeur de 0 et ne modifie pas le tableau.

• Si vous spécifiez une valeur de 8 ou Array.RETURNINDEXEDARRAY pour le paramètre options, Flash renvoie un tableau qui reflète les résultats du tri et ne modifie pas le tableau.

• Dans le cas contraire, Flash ne renvoie rien et modifie le tableau pour refléter l'ordre de tri.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 194

Classes ActionScript

• Tous les objets ont au moins une propriété en commun dont les valeurs peuvent être utilisées pour trier le tableau.

Ce type de propriété est connu sous le nom de field. Si vous transmettez plusieurs paramètres fieldName, le premier champ représente le champ de tri principal, le deuxième représente le champ de tri suivant, etc. Flash trie selon les valeurs Unicode. (ASCII est un sous-ensemble de Unicode.) Si l'un des éléments comparés ne contient pas le champ spécifié dans le paramètre fieldName, le champ est considéré comme étant undefined et les éléments sont placés de manière consécutive dans le tableau trié dans un ordre quelconque.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 195

Classes ActionScript

Par défaut, Array.sortOn() fonctionne comme décrit dans la liste suivante :

• Le tri tient compte de la casse (Z précède a).

• Le tri est ascendant (a précède b). • Le tableau est modifié afin de refléter l'ordre de tri ; plusieurs éléments, dont les champs de tri sont identiques, sont placés de manière consécutive dans le tableau trié dans un ordre quelconque.

• Les champs numériques sont triés comme s'il s'agissait de chaînes : ainsi, 100 précède 99 car « 1 » est une valeur de chaîne inférieure à « 9 ».

Vous pouvez utiliser le paramètre options pour remplacer le comportement de tri par défaut. Pour trier un tableau simple (par exemple, un tableau contenant un seul champ) ou pour spécifier un ordre de tri non pris en charge par le paramètre options, utilisez Array.sort(). Pour définir plusieurs indicateurs, séparez-les à l'aide de l'opérateur OR (|) au niveau du bit : my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);

Flash Lite 2.0 Paramètres fieldName:Object - Chaîne identifiant un champ à utiliser en tant que valeur de tri ou tableau dans lequel le premier élément représente le champ de tri principal, le deuxième le champ de tri secondaire, etc. contrôle en amont:Object [facultatif] - Un ou plusieurs nombres ou noms de constantes définies, séparés par l'opérateur | (OR au niveau du bit), ce qui remplace le comportement de tri. Les valeurs suivantes sont valides pour le paramètre options :

• Si vous spécifiez une valeur de 4 ou Array.UNIQUESORT pour le paramètre options et si au moins deux éléments triés ont des champs de tri identiques, Flash renvoie une valeur de 0 et ne modifie pas le tableau.

• Si vous spécifiez une valeur de 8 ou Array.RETURNINDEXEDARRAY pour le paramètre options, Flash renvoie un tableau qui reflète les résultats du tri et ne modifie pas le tableau.

• Dans le cas contraire, Flash ne renvoie rien et modifie le tableau pour refléter l'ordre de tri.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 196

Classes ActionScript

2 pour le paramètre deleteCount. Deux éléments du tableau à partir du deuxième élément sont ainsi supprimés : seuls les premier et dernier éléments sont conservés dans le tableau d'origine : var myFlowers_array:Array = new Array("roses", "tulips", "lilies", "orchids"); trace( myFlowers_array.splice(1,2 ) ); // Displays tulips,lilies. trace( myFlowers_array ); // roses,orchids

L'exemple suivant crée un tableau et le relie à l'aide de l'élément index 1 pour le paramètre startIndex, du nombre 0 pour le paramètre deleteCount et de la chaîne chair pour le paramètre value. Aucun élément n'est supprimé du tableau d'origine et la chaîne chair est ajoutée à l'index 1 : var myFurniture_array:Array = new Array("couch", "bed", "desk", "lamp"); trace( myFurniture_array.splice(1,0, "chair" ) ); // Displays empty array. trace( myFurniture_array ); // displays couch,chair,bed,desk,lamp

Les méthodes de la classe BitmapData prennent en charge de nombreux effets qui ne sont pas disponibles dans l'interface du filtre générique.

Un objet BitmapData contient un tableau de données de pixels. Ces données peuvent représenter une bitmap entièrement opaque ou entièrement transparente contenant des données de canal alpha. Chaque type d'objet BitmapData est stocké en tant que tampon converti en entiers 32 bits. Chaque entier 32 bits détermine les propriétés d'un pixel unique du bitmap. Chaque entier 32 bits est une combinaison de quatre valeurs de canal de 8 bits (de 0 à 255) décrivant les valeurs de transparence alpha et les valeurs de rouge, vert et bleu (ARVB) du pixel. Les quatre canaux (rouge, vert, bleu et alpha) sont représentés sous forme de nombres lorsque vous utilisez la méthode BitmapData.copyChannel() ou les propriétés DisplacementMapFilter.componentX et DisplacementMapFilter.componentY, comme suit :

Effectue une opération de peinture sur une image à partir de y:Number, certaines coordonnées (x, y) et à l'aide d'une certaine couleur. color:Number) : Void generateFilterRect

Détermine le rectangle de destination affecté par l'appel de la méthode applyFilter(), en fonction d'un objet BitmapData, d'un rectangle source et d'un objet filtre spécifiés.

Flash Lite ne prend pas cette méthode en charge.

getColorBoundsRect(mas k:Number, color:Number,

[findColor:Boolean] Flash Lite ne prend pas cette méthode en charge.

Remappe les valeurs des canaux de couleur dans une image recevant jusqu’à quatre tableaux de données de palette de couleurs, un pour chaque canal.

Flash Lite ne prend pas cette méthode en charge.

Génère une image de bruit Perlin.

Flash Lite ne prend pas cette méthode en charge.

Procède à la dissolution de pixels, soit d’une image source vers une image de destination, soit en utilisant la même image.

Flash Lite ne prend pas cette méthode en charge.

Fait défiler une image en fonction d’un certain montant en pixels

Flash Lite ne prend pas cette méthode en charge.

addProperty (méthode Object.addProperty), hasOwnProperty (méthode

Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Paramètres width:Number - Largeur de l'image bitmap en pixels. height:Number - La hauteur de l'image bitmap en pixels. transparent:Boolean [facultatif] - Spécifie si l'image bitmap prend en charge la transparence par pixel. La valeur par défaut est true (transparent). Pour créer une bitmap entièrement transparente, réglez la valeur du paramètre transparent sur true et celle du paramètre fillColor sur 0x00000000 (ou sur 0). fillColor:Number [facultatif] - Une valeur de couleur ARVB 32 bits utilisée pour remplir la zone de l'image bitmap. La valeur par défaut est 0xFFFFFFFF (blanc uni). Exemple L'exemple suivant crée un nouvel objet BitmapData. Les valeurs utilisées dans cet exemple sont les valeurs par défaut des paramètres transparent et fillColor ; vous pouvez appeler le constructeur sans ces paramètres et obtenir le même résultat. import flash.display.BitmapData; var var var var

width:Number = 100; height:Number = 80; transparent:Boolean = true; fillColor:Number = 0xFFFFFFFF;

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 206 Classes ActionScript

Cette méthode correspond directement au mode de traçage des objets à l'aide de la fonctionnalité de rendu vectoriel standard pour les objets dans l'interface de l'outil de programmation.

Un objet MovieClip source n'utilise pas ses transformations sur scène pour cet appel. Il est traité de la manière dont il apparaît dans la bibliothèque ou dans le fichier, sans transformation de matrice, de couleurs et sans mode de fondu. Si vous souhaitez dessiner le clip en utilisant ses propres propriétés de transformation, vous pouvez utiliser son objet Transform pour transmettre les diverses propriétés de transformation. Le paramètre blendMode n'est pas pris en charge dans Flash Lite. Disponibilité Flash Lite 3.1 Paramètres source:Object - L'objet BitmapData à dessiner. matrix:Matrix [facultatif] - Objet Matrix utilisé pour redimensionner, faire pivoter ou traduire les coordonnées du bitmap. Si aucun objet n'est fourni, l'image bitmap ne sera pas transformée. Définissez ce paramètre sur une matrice d'identité, créée à l'aide du constructeur new Matrix() par défaut, si vous devez le transmettre mais ne souhaitez pas transformer l'image. colorTransform:ColorTransform [facultatif] - Objet ColorTransform utilisé pour définir les valeurs de couleur du bitmap. Si aucun objet n'est fourni, les couleurs de l'image bitmap ne seront pas transformées. Définissez ce paramètre sur un objet ColorTransform, créé à l'aide du constructeur new ColorTransform() par défaut, si vous devez le transmettre mais ne souhaitez pas transformer l'image.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 211

Classes ActionScript

clipRect:Rectangle [facultatif] - Un objet Rectangle. Si cette valeur n'est pas fournie, aucun découpage n'est effectué. smooth:Boolean [facultatif] - Valeur booléenne indiquant si un objet BitmapData doit être lissé lorsqu'il est dimensionné. La valeur par défaut est false.

Exemple Paramètres x:Number - Coordonnée x de l'image. y:Number - Coordonnée y de l'image. color:Number - Couleur ARVB à utiliser pour le remplissage. Les couleurs ARVB sont souvent spécifiées au format hexadécimal, tel que 0xFF336699.

Paramètres mask:Number - Une valeur de couleur hexadécimale. color:Number - Une valeur de couleur hexadécimale. findColor:Boolean [facultatif] - Si la valeur est définie sur true, renvoie les bornes d'une valeur de couleur dans une image. Si la valeur est définie sur false, renvoie les limites dans lesquelles cette couleur n'existe pas dans une image.

La valeur par défaut est true. Valeur renvoyée Rectangle - Zone de l'image correspondant à la couleur spécifiée. Exemple L'exemple suivant indique comment déterminer une zone rectangulaire qui regroupe tous les pixels d’une couleur spécifiée au sein de l’image bitmap :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 214

Classes ActionScript

Cette perte de données peut entraîner certains problèmes lorsque vous effectuez ces opérations. Toutes les méthodes

Flash Lite Player utilisent et renvoient des valeurs non multipliées. La représentation des pixels interne est non multipliée avant d'être renvoyée en tant que valeur. Au cours d'une opération de définition, la valeur de pixels est prémultipliée avant de définir le pixel d'image brut. Disponibilité Flash Lite 3.1 Paramètres x:Number - Coordonnée x du pixel. y:Number - Coordonnée y du pixel. Boolean - Valeur booléenne. En cas de correspondance, renvoie une valeur true ; false dans le cas contraire. Exemple L'exemple suivant indique comment déterminer si un objet BitmapData entre en collision avec MovieClip.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 218

Classes ActionScript

Si la propriété _focusrect est définie sur false, la navigation au clavier se limite à la touche Tab pour ce bouton.

Toutes les autres touches, ce qui inclut la touche Entrée et les touches directionnelles, sont ignorées. Pour restaurer l'intégralité de l'accès clavier, vous devez définir _focusrect sur true. Remarque : Pour le lecteur Flash Lite 2.0, lorsque la propriété _focusrect est désactivée (en d'autres termes, Button.focusRect is false), le bouton reçoit tous les événements. Ce comportement est différent de celui de Flash

Lite Player, car lorsque la propriété _focusrect est désactivée, le bouton reçoit les événements rollOver et rollOut, mais pas press et release.

D'autre part, pour Flash Lite 2.0, vous pouvez modifier la couleur du rectangle de focus à l'aide de la commande fscommand2 SetFocusRectColor. Ce comportement diffère également de Flash Lite Player, où la couleur du rectangle de focus est limitée au jaune. Disponibilité Flash Lite 2.0 Exemple Cet exemple démontre comment masquer le rectangle jaune autour d'une occurrence de bouton spécifiée d'un fichier 999, ce qui signifie que le bouton qu'il contient aura également une profondeur de 999 par rapport aux boutons du fichier SWF principal. N'oubliez pas que chaque clip dispose de son propre ordre z interne, ce qui signifie que chaque clip possède son propre jeu de valeurs de profondeur. Les deux boutons peuvent avoir la même valeur de profondeur mais les valeurs ne sont significatives que par rapport aux autres objets du même ordre z. Dans ce cas, les boutons ont la même valeur de profondeur mais les valeurs se rapportent à des clips différents : la valeur de profondeur du bouton dans le fichier SWF principal se rapporte à l'ordre z du scénario principal, tandis que la valeur de profondeur du bouton du fichier SWF chargé se rapporte à l'ordre z interne du clip myClip_mc. Voir aussi getDepth (méthode MovieClip.getDepth), getDepth (méthode TextField.getDepth), getInstanceAtDepth (méthode MovieClip.getInstanceAtDepth)

_height (propriété Button._height) public _height : Number

Lorsque vous cliquez sur myBtn_btn, le trait du cercle est irrégulier. Vous pouvez ajouter le code ActionScript suivant pour affecter l'ensemble du fichier SWF : _quality = 0; Vous pouvez utiliser _parent pour remonter de plusieurs niveaux dans l'arborescence de la liste d'affichage, comme dans l'exemple suivant : this._parent._parent._alpha = 20;

Flash Lite 2.0 • "LOW" - Qualité de rendu inférieure. Les images ne sont pas anti-aliasées et les bitmaps ne sont pas lissés. • "MEDIUM" - Qualité de rendu moyenne. Les images sont anti-aliasées selon une grille de 2 x 2 pixels, mais les bitmaps ne sont pas lissés. Ce niveau de qualité convient aux animations qui ne contiennent pas de texte.

• "HIGH" - Qualité de rendu supérieure. Les images sont anti-aliasées en appliquant une grille de 4 x 4 pixels et les bitmaps sont lissés lorsque l'animation est statique. Il s'agit du paramètre de qualité de rendu par défaut de Flash.

Remarque : Bien que vous puissiez spécifier cette propriété pour un objet Button, il s'agit en fait d'une propriété globale : il vous suffit donc de définir sa valeur sur _quality. Disponibilité Flash Lite 2.0 Exemple Cet exemple définit la qualité de rendu d'un bouton intitulé my_btn sur LOW : my_btn._quality = "LOW"; Pour plus d'informations et un exemple, consultez la section _soundbuftime. Disponibilité Flash Lite 2.0 Voir aussi _soundbuftime, propriété La propriété tabIndex peut être un entier non négatif. Les objets sont triés selon leurs propriétés tabIndex, par ordre croissant. Un objet dont la propriété tabIndex est définie sur 1 précède un objet dont la propriété tabIndex est définie sur 2. Si deux objets ont la même valeur tabIndex, celui qui précède l'autre dans l'ordre de tabulation est undefined (non défini). L'ordre de tabulation personnalisé défini par la propriété tabIndex est flat. Cela signifie qu'on ne prête aucune attention aux relations hiérarchiques des objets contenus dans le fichier SWF. Tous les objets du fichier SWF dotés de propriétés tabIndex sont placés dans l'ordre de tabulation qui est déterminé par l'ordre des valeurs tabIndex. Si deux objets ont la même valeur tabIndex, celui qui apparaît en premier est undefined. Il est recommandé de ne pas affecter la même valeur tabIndex à plusieurs objets. Disponibilité Flash Lite 2.0 Remarque : La propriété trackAsMenu n'est prise en charge pour Flash Lite 2.0 que si System.capabilities.hasMouse a pour valeur true ou System.capabilities.hasStylus a pour valeur true.

Flash Lite 2.0 (0, 0). Si le bouton est imbriqué dans un clip subissant des transformations, le bouton se trouve dans le système de coordonnées local du clip qui l'encadre. Ainsi, dans le cas d'un clip qui a effectué une rotation à 90 degrés en sens antihoraire, le bouton imbriqué hérite d'un système de coordonnées ayant effectué une rotation à 90 degrés en sens antihoraire. Les coordonnées du bouton renvoient à la position du point d'alignement. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant définit sur 0 les coordonnées de my_btn sur la scène. Créez un bouton intitulé my_btn et entrez le code ActionScript suivant dans l'image 1 du scénario : my_btn._x = 0; my_btn._y = 0; L'exemple suivant porte sur une chaîne destinée à un périphérique portable :

• qui indique une orientation d'écran normale

• dont la langue d'exécution n'est pas déterminée • qui s'exécute sous le système d'exploitation Symbian7.0sSeries60V2 • qui est configuré de façon à empêcher l'utilisateur d'accéder au disque dur, à la caméra ou au microphone • qui utilise le lecteur Flash Lite sous sa version de publication officielle • pour lequel le lecteur Flash Lite ne prend pas en charge le développement ou la lecture des applications de diffusion à l'écran par l'intermédiaire de Flash Media Server

• qui ne prend pas en charge l'impression sur le périphérique

• où le lecteur Flash Lite s'exécute sur un périphérique portable qui prend en charge la vidéo intégrée. undefinedScreenOrientation=normal language=xu OS=Symbian7.0sSeries60V2 localFileReadDisable=true avHardwareDisable=true isDebugger=false hasScreenBroadcast=false hasScreenPlayback=false hasPrinting=false hasEmbeddedVideo=true

La plupart des propriétés de l'objet System.capabilities sont en lecture seule.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 247

Classes ActionScript

Renvoie true si le lecteur Flash Lite est capable charger de façon dynamique des données supplémentaires par l'intermédiaire d'appels à des fonctions spécifiques.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 248

Classes ActionScript

Résumé de la méthode

Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty)isPropertyEnumerable (méthode Object.isPropertyEnumerable)isPrototypeOf (méthode Object.isPrototypeOf)registerClass (méthode Object.registerClass), toString (méthode GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 250 Classes ActionScript Sinon, elle renvoie la valeur false. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasMouse); Le stylet ne prend pas en charge l'événement onMouseMove. Cet indicateur de fonctionnalité permet au contenu Flash de vérifier si la plate-forme du périphérique portable prend en charge cet événement. Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 259

La chaîne de serveur est DEB. Remarque : Pour Flash Lite 2.0, la valeur renvoyée est toujours false. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.isDebugger); Cette propriété a été modifiée en deux points pour Flash Player 7. Premièrement, le code de langue des systèmes en anglais n'inclut plus le code pays. Dans Flash Player 6, tous les systèmes en anglais renvoyaient le code de langue et la balise secondaire de code pays à deux lettres (en-US). Dans Flash Player 7, les systèmes en anglais renvoient uniquement le code de langue (en). Deuxièmement, sur les systèmes Microsoft Windows, cette propriété renvoie désormais la langue de l'interface utilisateur (IU). Dans Flash Player 6 sur la plate-forme Microsoft Windows, System.capabilities.language renvoie les paramètres régionaux utilisateur, permettant de sélectionner les paramètres de mise en forme des dates, heures, symboles monétaires et nombres élevés. Dans Flash Player 7 sur la plate-forme Microsoft Windows, cette propriété renvoie désormais la langue de l'interface utilisateur, qui se réfère à la langue utilisée pour tous les menus, boîtes de dialogue, messages d'erreur et fichiers d'aide. Langue

La lecture de bibliothèques partagées à l'exécution sera également bloquée si cette propriété est définie sur true ; en revanche, la lecture d'objets partagés localement est autorisée, indépendamment de la valeur de cette propriété. La chaîne de serveur est LFD. Remarque : Pour Flash Lite 2.0, la valeur renvoyée est toujours true. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.localFileReadDisable); Object:Object) : Void couleurs pour un objet Color.

Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode

Object.hasOwnProperty)isPropertyEnumerable (méthode • ra est le pourcentage du composant rouge (-100 à 100). • rb est le décalage du composant rouge (-255 à 255). • ga est le pourcentage du composant vert (-100 à 100). • gb est le décalage du composant vert (-255 à 255). • ba est le pourcentage du composant bleu (-100 à 100). • bb est le décalage du composant bleu (-255 à 255). • aa est le pourcentage pour alpha (-100 à 100). • ab est le décalage pour alpha (-255 à 255).

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 268

Classes ActionScript

à un objet Color. Pour utiliser ce code dans un document Flash (FLA), insérez-le sur l'image 1 du scénario principal, puis placez un clip portant le nom d'occurrence my_mc sur la scène, de la manière suivante :

// Create a color object called my_color for the target my_mc var my_color:Color = new Color(my_mc); // Create a color transform object called myColorTransform using // Set the values for myColorTransform var myColorTransform:Object = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12, bb: 90, aa: 40, ab: Lorsqu'un objet ColorTransform est appliqué à un clip, une nouvelle valeur est calculée pour chaque canal de couleur de la manière suivante :

• Nouvelle valeur de rouge = (ancienne valeur de rouge * redMultiplier) + redOffset

• Nouvelle valeur de vert = (ancienne valeur de vert * greenMultiplier) + greenOffset • Nouvelle valeur de bleu = (ancienne valeur de bleu * blueMultiplier) + blueOffset Vous devez utiliser le constructeur new ColorTransform() pour créer un objet ColorTransform avant de pouvoir appeler les méthodes de l'objet ColorTransform. Les transformations de couleurs ne s'appliquent pas à la couleur d'arrière-plan d'un clip (tel qu'un objet SWF chargé). Elles s'appliquent uniquement aux graphiques et symboles associés au clip. Disponibilité Flash Lite 3.1 Voir aussi colorTransform (propriété Transform.colorTransform) Object.registerClass) » à la page 510, « toString (méthode Object.toString) » à la page 514« unwatch (méthode Object.unwatch) » à la page 515, valueOf (méthode Object.valueOf), « watch (méthode Object.watch) » à la page 517

alphaMultiplier (propriété ColorTransform.alphaMultiplier) public alphaMultiplier : Number

Transmettez une valeur à cette propriété au format : 0xRRVVBB. Les valeurs RR, GG et BB se composent chacune de deux chiffres hexadécimaux qui spécifient le décalage de chaque composant de couleur. La valeur 0x indique au compilateur ActionScript que le nombre est une valeur hexadécimale. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur rgb à 0xFF0000. • Windows : l'objet Date ajuste automatiquement sa sortie pour l'heure d'été. L'objet Date détecte si l'heure d'été est définie selon les paramètres régionaux actuels, et si tel est le cas, détecte la date et les heures de transition de l'heure d'été standard. Toutefois, les dates de transition actuellement en vigueur sont appliquées aux dates passées et à venir : par conséquent, le décalage de l'heure d'été peut être calculé de manière incorrecte pour les dates passées lorsque les paramètres régionaux étaient définis sur différentes dates de transition.

• Mac OS X : l'objet Date ajuste automatiquement sa sortie pour l'heure d'été. La base de données d'informations sur le fuseau horaire dans Mac OS X est utilisée pour déterminer si un décalage d'heure d'été doit être appliqué à une date ou heure actuelle ou passée.

• Mac OS 9 : le système d'exploitation fournit uniquement les informations suffisantes pour déterminer s'il convient d'appliquer un décalage d'heure d'été à la date et à l'heure actuelles. En conséquence, l'objet de date suppose que le décalage d'heure d'été actuel s'applique à toutes les dates et heures passées ou à venir.

Flash Player 5 gère l'heure d'été sur les systèmes d'exploitation suivants comme suit :

• Windows : les règles en vigueur aux Etats-Unis concernant l'heure d'été sont toujours appliquées, ce qui entraîne des transitions incorrectes en Europe et dans les autres zones qui adoptent l'heure d'été, mais avec des heures de transition différentes de celles en vigueur aux Etats-Unis. Flash détecte correctement si l'heure d'été est utilisée dans les paramètres régionaux actuels.

Pour appeler les méthodes de la classe Date, vous devez d'abord créer un objet Date à l'aide du constructeur de la classe Date, décrit plus loin dans cette section. Disponibilité Flash Lite 2.0 Résumé des propriétés Propriétés héritées de la classe Object constructor (propriété Object.constructor), __proto__ (Object.__proto__, propriété)prototype (propriété Object.prototype), __resolve (Object.__resolve, propriété) GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 286 Classes ActionScript à minuit GMT. Dans la troisième ligne, un objet Date incluant les paramètres year, month et date est créé, soit le six mars 1965 à 09:30:15 GMT (+ 0 milliseconde). Remarque : étant donné que le paramètre year est spécifié en tant que nombre entier à deux chiffres, il est interprété comme 1965. Dans la quatrième ligne, un seul paramètre est transmis : il s'agit d'une valeur de temps représentant le nombre de millisecondes écoulées avant ou après le premier janvier 1970 à minuit GMT ; étant donné que la valeur est négative, elle représente une heure avant le premier janvier 1970 à minuit GMT, soit le 21 juillet 1969 à 02:56:15 GMT. Disponibilité Flash Lite 2.0 Paramètres yearOrTimevalue:Number [facultatif] - Si d'autres paramètres sont spécifiés, ce nombre représente une année (telle que 1965) ; sinon, il représente une valeur de temps. Si le nombre représente une année, une valeur comprise entre 0 et 99 renvoie à une année comprise entre 1900 et 1999 ; sinon les quatre chiffres de l'année doivent être spécifiés. Si le nombre représente une valeur de temps (aucun paramètre supplémentaire n'est spécifié), il s'agit du nombre de millisecondes écoulées avant ou après le premier janvier 1970 à minuit GMT ; une valeur négative représente une heure avant le premier janvier 1970 à minuit GMT ; une valeur positive représente une heure postérieure à cette date. month:Number [facultatif] - Entier compris entre 0 (janvier) et 11 (décembre). date:Number [facultatif] - Entier compris entre 1 et 31. hour:Number [facultatif] - Entier compris entre 0 (minuit) et 23 (23h00). minute:Number [facultatif] - Entier compris entre 0 et 59. second:Number [facultatif] - Entier compris entre 0 et 59. millisecond:Number [facultatif] - Entier compris entre 0 et 999 millisecondes. Exemple 420 minutes). Cet exemple est l'heure d'été de la côte Ouest des Etats-Unis (PDT) qui est égale à GMT moins 7 heures. Le résultat varie en fonction du lieu et de l'époque de l'année. var my_date:Date = new Date(); trace(my_date.getTimezoneOffset());

getUTCDate (méthode Date.getUTCDate) public getUTCDate() : Number

Renvoie le jour du mois (entier de 1 à 31) de l'objet Date spécifié, conformément à l'heure universelle.

Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l'appel de cette méthode. Disponibilité Flash Lite 2.0 Paramètres year:Number - Nombre à quatre chiffres spécifiant une année. Les nombres à deux chiffres ne représentent pas les années à quatre chiffres ; par exemple, 99 ne correspond pas à l'année 1999, mais à l'année 99. month:Number [facultatif] - Entier compris entre 0 (janvier) et 11 (décembre). Si vous omettez ce paramètre, le champ Mois de l'objet Date spécifié ne sera pas modifié. date:Number [facultatif] – Nombre compris entre 1 et 31. Si vous omettez ce paramètre, le champ Date de l'objet Date spécifié ne sera pas modifié. Valeur renvoyée Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l'appel de cette méthode. Disponibilité Flash Lite 2.0 Paramètres date:Number - Nombre ; entier compris entre 1 et 31. Valeur renvoyée Paramètres month:Number - Entier compris entre 0 (janvier) et 11 (décembre). date:Number [facultatif] - Entier compris entre 1 et 31. Si vous omettez ce paramètre, le champ Date de l'objet Date spécifié ne sera pas modifié. Valeur renvoyée GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 311 Classes ActionScript Résumé de la méthode Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty)isPropertyEnumerable (méthode Object.isPropertyEnumerable)isPrototypeOf (méthode Object.isPrototypeOf)registerClass (méthode Object.registerClass), toString (méthode Résumé des propriétés Propriétés héritées de la classe Object constructor (propriété Object.constructor), __proto__ (Object.__proto__, propriété)prototype (propriété Object.prototype), __resolve (Object.__resolve, propriété) également les paramètres à transmettre à toute fonction appelée. Dans la mesure où apply() est une méthode de la classe Function, c'est également une méthode de chaque objet Function dans ActionScript. Les paramètres sont spécifiés sous forme d'objet Array, contrairement à Function.call() qui spécifie les paramètres en tant que liste délimitée par des virgules. Ceci est souvent utile lorsque le nombre de paramètres à transmettre n’est pas connu avant l’exécution du script. Renvoie la valeur spécifiée en tant que valeur renvoyée par la fonction appelée. Disponibilité Flash Lite 2.0 Paramètres thisObject:Object - Objet auquel myFunction s'applique. argArray:Array [facultatif] - Tableau dont les éléments sont transmis à myFunction en tant que paramètres. Valeur renvoyée Pour plus d'informations, consultez la section Développement d'applications Flash Lite 2.x et 3.x. Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 320

à une touche spécifique. Valeur renvoyée Boolean - La valeur true si la touche spécifiée dans code est enfoncée ; false sinon. Exemple Le script suivant permet d'utiliser les touches Gauche et Droite pour contrôler l'emplacement sur la scène d'un clip intitulé car_mc : car_mc.onEnterFrame = function() { if (Key.isDown(Key.RIGHT)) { this._x += 10; } else if (Key.isDown(Key.LEFT)) { this._x -= 10; } La classe LoadVars permet d’envoyer toutes les variables d’un objet à une adresse URL déterminée et de charger toutes les variables d’une adresse URL déterminée dans un objet. Elle vous permet également d'envoyer des variables spécifiques plutôt que la totalité d'entre elles, ce qui peut rendre votre application plus efficace. Utilisez le gestionnaire LoadVars.onLoad pour vous assurer que votre application s'exécute une fois les données chargées, et pas avant. La classe LoadVars fonctionne de manière à peu près identique à la classe XML ; elle utilise les méthodes load(), send() et sendAndLoad() pour communiquer avec un serveur. La principale différence entre les classes LoadVars et XML réside dans le fait que LoadVars transfère les paires nom et valeur ActionScript, plutôt qu'une arborescence XML DOM (Document Object Model) stockée dans l'objet XML. La classe LoadVars applique les mêmes restrictions de sécurité que la classe XML. Disponibilité Flash Lite 2.0 Voir aussi loadVariables, fonction, onLoad (gestionnaire LoadVars.onLoad), hasXMLSocket (propriété capabilities.hasXMLSocket) En cas d'appels multiples pour définir le même nom d'en-tête, chaque valeur successive remplace la valeur définie dans l'appel précédent. Les en-têtes HTTP standard suivants ne peuvent pas être ajoutés ou modifiés à l'aide de cette méthode : AcceptRanges, Age, Allow, Allowed, Connection, Content-Length, Content-Location, Content-Range, ETag, Host, Last-Modified, Locations, Max-Forwards, Proxy-Authenticate, Proxy-Authorization, Public, Range, Retry-After, Server, TE, Trailer, Transfer-Encoding, Upgrade, URI, Vary, Via, Warning et WWWAuthenticate.

LoadVars.onData, vous pouvez appeler explicitement LoadVars.decode() pour analyser une chaîne de variables.

Disponibilité Flash Lite 2.0 Paramètres queryString:String - Une chaîne de requête codée au format URL contenant les paires nom/valeur. Exemple Il s'agit du même format que celui utilisé par loadVariables(). Pour les fichiers SWF lus par une version antérieure à Flash Player 7, l'url doit correspondre au superdomaine du fichier SWF envoyant cet appel. Le superdomaine est dérivé en supprimant le composant le plus à gauche de l'URL d'un fichier. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données provenant de sources à l'adresse store.someDomain.com, étant donné que les deux fichiers sont dans le même superdomaine intitulé someDomain.com.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 337

Classes ActionScript

Dans les fichiers SWF d'une version exécutée dans Flash Player 7 ou une version ultérieure, le paramètre url doit se trouver exactement dans le même domaine. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données en provenance de sources qui figurent également à l'adresse www.someDomain.com. Si vous souhaitez charger des données à partir d'un autre domaine, vous pouvez placer un fichier de régulation inter-domaines sur le serveur hébergeant le fichier SWF.

De plus, dans les fichiers publiés pour Flash Player 7, le respect de la casse est pris en charge pour les variables externes chargées via LoadVars.load(). Cette méthode est similaire à XML.load(). Disponibilité Flash Lite 2.0 Paramètres url:String - L'URL permettant de télécharger les variables. Si le fichier SWF qui émet cet appel s'exécute sur un navigateur Web, l'url doit appartenir au même domaine que le fichier SWF. Pour plus de détails, consultez la section Description. GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 338 Classes ActionScript

Ce gestionnaire d'événements est similaire à XML.onLoad.

Disponibilité Flash Lite 2.0 Paramètres success:Boolean - Indique si l'opération de chargement s'est terminée avec succès (true) ou a échoué (false). Exemple Vous devez spécifier le paramètre target pour exécuter le script ou l'application à l'URL spécifiée. Si vous omettez le paramètre target, la fonction renvoie true, mais le script ou l'application n'est pas exécuté(e).

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 340

Classes ActionScript

La méthode send() est utile si vous souhaitez que la réponse du serveur :

• remplace le contenu SWF (utilisez "_self" en tant que paramètre target) ;

• s'affiche dans une nouvelle fenêtre (utilisez "_blank" en tant que paramètre target) ; • s'affiche dans le parent de l'image ou dans l'image de plus haut niveau (utilisez "_parent" ou "_top" en tant que paramètre target) ;

• s'affiche dans une image nommée (utilisez le nom de l'image en tant que chaîne pour le paramètre target).

Si l'appel de la méthode send() a réussi, elle ouvre toujours une nouvelle fenêtre de navigateur ou remplace le contenu dans une fenêtre ou image existante. Si vous préférez envoyer des informations à un serveur et continuer à lire votre fichier SWF sans ouvrir de nouvelle fenêtre ou remplacer le contenu dans une fenêtre ou une image, utilisez la méthode LoadVars.sendAndLoad()

Cette méthode est similaire à XML.send().

Disponibilité Flash Lite 2.0 Paramètres url:String - URL vers laquelle les variables doivent être transférées. target:String - Fenêtre de navigateur ou image dans laquelle la réponse s'affiche. Vous pouvez entrer le nom d'une fenêtre spécifique ou le sélectionner à partir des noms cibles réservés suivants :

Pour les fichiers SWF lus par une version antérieure à Flash Player 7 (Flash Lite 1.x par exemple), l'url doit correspondre au superdomaine du fichier SWF envoyant cet appel. Le superdomaine est dérivé en supprimant le composant le plus à gauche de l'URL d'un fichier. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données provenant de sources à l'adresse store.someDomain.com, étant donné que les deux fichiers sont dans le même superdomaine de someDomain.com.

Dans les fichiers SWF d'une version exécutée dans Flash Player 7 ou versions ultérieures (Flash Lite 2.x et 3.x par exemple), l'url doit se trouver exactement dans le même domaine. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données en provenance de sources qui figurent également à l'adresse www.someDomain.com. Si vous souhaitez charger des données à partir d'un autre domaine, vous pouvez placer un fichier de régulation inter-domaines sur le serveur hébergeant le fichier SWF. Cette méthode est similaire à XML.sendAndLoad(). Disponibilité Flash Lite 2.0 Paramètres url:String - URL vers laquelle les variables doivent être transférées. Si le fichier SWF effectuant cet appel s'exécute dans un navigateur Web, url doit appartenir au même domaine que le fichier SWF. target:Object - L'objet LoadVars ou XML qui reçoit les variables téléchargées. method:String (facultatif) Méthode GET ou POST du protocole HTTP. La valeur par défaut estPOST. Valeur renvoyée Lorsque ce gestionnaire d'événements est absent, Flash Lite Player applique une stratégie de sécurité par défaut, équivalente au code suivant : my_lc.allowDomain = function (sendingDomain) { return (sendingDomain == this.domain()); } Dans ce cas, vous pouvez utiliser MovieClip.La propriété _url dans votre implémentation de cette méthode. Par exemple, si vous chargez un fichier SWF dans my_mc, vous pouvez ensuite implémenter cette méthode en vérifiant si l'argument du domaine correspond au domaine de my_mc._url. (Vous devez analyser le domaine à partir de l'adresse URL complète contenue dans my_mc._url.) Si vous procédez ainsi, veuillez patienter jusqu'à la fin du chargement du fichier SWF dans my_mc car la propriété _url ne dispose pas de sa valeur correcte et finale tant que le fichier n'est pas entièrement chargé. La meilleure façon de déterminer la fin du chargement d'un fichier SWF enfant consiste à utiliser MovieClipLoader.onLoadComplete. Le cas contraire peut aussi se présenter : vous pouvez créer un fichier SWF enfant qui souhaite accepter les appels LocalConnection émanant de son parent, mais qui ignore le domaine de ce dernier. Dans ce cas, implémentez cette méthode en vérifiant si l'argument du domaine correspond au domaine de _parent._url. Encore une fois, vous devez analyser le domaine à partir de l'adresse URL complète de _parent._url. Dans ce cas, il n'est pas nécessaire d'attendre la fin du chargement du fichier SWF parent ; le parent sera déjà chargé lorsque celui de l'enfant commencera. Disponibilité Flash Lite 3.1 Paramètres sendingDomain:String [facultatif] - Une chaîne qui spécifie le domaine du fichier SWF contenant l'objet LocalConnection d'envoi. Il n'est pas recommandé d'utiliser cette méthode pour annuler le comportement par défaut car elle compromet la sécurité HTTPS. Cependant, vous devrez peut-être l'utiliser, par exemple, si vous devez autoriser l'accès aux fichiers HTTPS publiés pour Flash Player 7 ou versions ultérieures (Flash Lite 2.x et 3.x par exemple) à partir de fichiers HTTP publiés pour Flash Player 6. Un fichier SWF publié pour Flash Player 6 peut utiliser le gestionnaire d'événements LocalConnection.allowDomain afin d'autoriser l'accès HTTPS à partir de HTTP. Toutefois, étant donné que la sécurité est implémentée différemment dans Flash Player 7, vous devez utiliser la méthode LocalConnection.allowInsecureDomain() pour permettre un tel accès dans les fichiers SWF publiés pour Flash Player 7 ou versions ultérieures. Disponibilité Flash Lite 3.1 Paramètres sendingDomain:String [facultatif] - Une chaîne qui spécifie le domaine du fichier SWF contenant l'objet Assurez-vous de définir les méthodes associées à receiving_lc avant d'appeler cette méthode, comme indiqué dans tous les exemples de cette section. Par défaut, Flash Lite renvoie connectionName à la valeur "superdomain:connectionName", où superdomain est le superdomaine du fichier SWF contenant la commande LocalConnection.connect(). Par exemple, si le fichier SWF contenant l'objet LocalConnection de réception se trouve à l'adresse www.someDomain.com, connectionName renvoie à "someDomain.com:connectionName". (Si un fichier SWF se trouve dans l'ordinateur client, la valeur affectée au superdomain est "localhost".) De même, par défaut, Flash Lite ne permet à l'objet LocalConnection de réception de n'accepter que les commandes provenant d'objets LocalConnection d'envoi dont le nom de connexion correspond également à une valeur "superdomain:connectionName". Ainsi, Flash Lite facilite la communication entre les fichiers SWF situés dans le même domaine.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 349

Classes ActionScript Si vous implémentez une communication entre des fichiers SWF appartenant à différents domaines, en spécifiant pour connectionName une chaîne qui commence par un trait de soulignement (_), le fichier SWF associé à l'objet LocalConnection de réception devient plus portable entre les domaines. Les cas de figure possibles sont les suivants :

• Si la chaîne dédiée à connectionName ne commence pas par un caractère de soulignement (_), Flash Lite ajoute un préfixe au superdomaine et deux points (par exemple, "myDomain:connectionName"). Vous avez ainsi la garantie que votre connexion n'entrera pas en conflit avec les connexions de même nom dans d'autres domaines.

Cependant, tous les objets LocalConnection d'envoi doivent spécifier ce superdomaine (par exemple, "myDomain:connectionName"). Si le fichier SWF associé à l'objet LocalConnection de réception est déplacé dans un autre domaine, Flash Player modifie le préfixe afin qu'il reflète le nouveau superdomaine (par exemple, "anotherDomain:connectionName"). Tous les objets LocalConnection d'envoi doivent être modifiés manuellement pour pointer vers le nouveau superdomaine.

• Si la chaîne dédiée à connectionName commence par un caractère de soulignement (par exemple,

"_connectionName"), Flash Lite ne lui ajoute pas de préfixe. Cela signifie que les objets LocalConnection de réception et d'envoi utilisent des chaînes identiques pour connectionName. Si l'objet de réception utilise LocalConnection.allowDomain pour spécifier que les connexions à partir de tous les domaines seront acceptées, le fichier SWF associé à l'objet LocalConnection de réception peut être déplacé vers un autre domaine, sans modifier les objets LocalConnection d'envoi.

Pour plus d'informations, consultez la section consacrée à connectionName dans LocalConnection.send() ainsi que les entrées LocalConnection.allowDomain et LocalConnection.domain().

Remarque : les deux-points sont utilisés en tant que caractères spéciaux pour séparer le superdomaine de la chaîne connectionName. Toute chaîne associée à connectionName contenant deux-points n'est pas valide. Disponibilité Flash Lite 3.1 Paramètres connectionName:String - Chaîne correspondant au nom de connexion spécifié dans la commande LocalConnection.send() qui souhaite communiquer avec receiving_lc. Valeur renvoyée Boolean - Valeur booléenne true si aucun autre processus en cours d'exécution sur le même ordinateur client n'a déjà appelé cette commande en utilisant la même valeur pour le paramètre connectionName, false sinon. Exemple L'exemple suivant indique comment un fichier SWF d'un domaine spécifique peut appeler une méthode intitulée printOut dans un fichier SWF de réception appartenant au même domaine. Tout d'abord, créez un fichier SWF avec le code suivant :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 350

Classes ActionScript

Si le fichier SWF actuel est un fichier local résidant sur l'ordinateur client, cette commande renvoie "localhost".

L'emploi le plus courant de cette commande consiste à inclure le nom de domaine de l'objet LocalConnection d'envoi en tant que paramètre de la méthode que vous comptez invoquer dans l'objet LocalConnection de réception ou avec LocalConnection.allowDomain pour accepter les commandes issues d'un domaine spécifié. Si vous autorisez uniquement la communication entre les objets LocalConnection appartenant au même domaine, vous n'aurez probablement pas besoin d'utiliser cette commande. Disponibilité Flash Lite 3.1 Valeur renvoyée String - Chaîne représentant le domaine de l'emplacement du fichier SWF actuel ; pour plus d'informations, consultez la section Description. Les numéros de ligne sont inclus à titre de référence. La séquence des événements est décrite dans la liste suivante :

• Le fichier SWF de réception se prépare à recevoir des commandes sur une connexion intitulée "sum" (ligne 11).

Flash Lite Player résout le nom de cette connexion en renvoyant "mydomain.com:sum" (consultez LocalConnection.connect()).

• Le fichier SWF d'envoi se prépare à recevoir une réponse sur l'objet LocalConnection intitulé "result" (ligne 67).

Il spécifie également qu'il accepte uniquement les commandes issues de fichiers SWF à l'adresse mydomain.com (lignes 51 à 53).

• Le fichier SWF d'envoi invoque la méthode aSum d'une connexion intitulée "mydomain.com:sum" (ligne 68) et transmet les paramètres suivants : son superdomaine, le nom de la connexion devant recevoir la réponse

("result") et les valeurs que aSum doit utiliser (123 et 456).

• La méthode aSum (ligne 6) est invoquée avec les valeurs suivantes : sender = "mydomain.com:result", replyMethod = "aResult", n1 = 123 et n2 = 456. Elle exécute ensuite la ligne de code suivante : this.send("mydomain.com:result", "aResult", (123 + 456));

• La méthode aResult (ligne 54) affiche la valeur renvoyée par aSum (579).

Si l'objet d'informations renvoyé par ce gestionnaire d'événements contient une valeur de niveau d'erreur, Flash ne peut pas envoyer la commande à un objet LocalConnection de réception : cela est probablement dû au fait qu'aucun objet LocalConnection de réception dont le nom correspond à celui spécifié dans la commande sending_lc.send() ayant appelé ce gestionnaire n'est connecté. En plus de ce gestionnaire onStatus, Flash propose également une « super » fonction appelée System.onStatus. Si onStatus est invoqué pour un objet particulier et qu'aucune fonction n'est affectée pour y répondre, Flash traite une fonction affectée à System.onStatus si elle existe. Dans la plupart des cas, vous implémentez ce gestionnaire uniquement pour répondre à des conditions d'erreur, comme indiqué dans l'exemple suivant.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 354

Classes ActionScript

LocalConnection.send() en plusieurs commandes, chacune comportant moins de 40 Ko de données.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 355

Classes ActionScript • Incluez le superdomaine à connectionName dans l'objet LocalConnection d'envoi, par exemple, myDomain.com:myConnectionName. Dans l'objet de réception, utilisez LocalConnection.allowDomain pour spécifier que les connexions à partir du superdomaine spécifié seront acceptées (dans ce cas, myDomain.com) ou que les connexions de tous les domaines seront acceptées.

Remarque : Vous ne pouvez pas spécifier de superdomaine dans connectionName pour l'objet LocalConnection de réception : vous pouvez le faire uniquement dans l'objet LocalConnection d'envoi.

Lorsque vous employez cette méthode, tenez compte du modèle de sécurité de Flash Lite. Par défaut, un objet LocalConnection est associé au Sandbox du fichier SWF qui l'a créé et les appels interdomaines vers les objets LocalConnection ne sont pas autorisés si la méthode LocalConnection.allowDomain() a été invoquée. Pour plus d'informations, consultez les sections suivantes :

• Chapitre 17, « Fonctionnement de la sécurité » du guide Formation à ActionScript 2.0 dans Flash

• Le livre blanc Sécurité de Flash Player 8 à l'adresse http://www.macromedia.com/go/fp8_security • La présentation technique des API relatives à la sécurité de Flash Player 8 à l'adresse http://www.macromedia.com/go/fp8_security_apis Disponibilité Flash Lite 3.1 Paramètres connectionName:String - Chaîne correspondant au nom de connexion spécifié dans la commande LocalConnection.connect() qui souhaite communiquer avec sending_lc. methodName:String - Chaîne spécifiant le nom de la méthode à invoquer dans l'objet LocalConnection de réception. Les noms de méthode suivants entraînent l'échec de la commande : send, connect, close, domain, onStatus et allowDomain. args:Object [facultatif] - Arguments à transmettre à la méthode spécifiée. Valeur renvoyée Boolean - Valeur booléenne true si Flash peut exécuter la requête ; sinon false. Remarque : Une valeur true renvoyée n'indique pas forcément que Flash Lite s'est connecté correctement à un objet LocalConnection de réception. Cela indique uniquement que la syntaxe de la commande est correcte. Pour déterminer si la connexion a été établie, consultez LocalConnection.onStatus. Exemple Pour obtenir un exemple de communication entre les objets LocalConnection appartenant au même domaine, consultez LocalConnection.connect(). Pour obtenir un exemple de communication entre les objets LocalConnection appartenant à des domaines spécifiés, consultez LocalConnection.domain().

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 356

Classes ActionScript Plusieurs méthodes de la classe Math utilisent la mesure d’un angle en radians en tant que paramètre. Vous pouvez utiliser l'équation suivante pour calculer les valeurs en radian avant d'appeler la méthode, puis exprimer la valeur calculée en tant que paramètre. Vous pouvez également utiliser toutes les valeurs situées à droite de l'équation (l'angle étant exprimé en radians plutôt qu’en degrees) en tant que paramètre radian. Pour calculer une valeur radian, utilisez la formule suivante : radians = degrees * Math.PI/180

Dans l'exemple suivant, l'équation est utilisée en tant que paramètre pour calculer le sinus d'un angle de 45° :

Math.sin(45 * Math.PI/180) est identique à Math.sin(.7854)

Flash Lite 2.0 Résumé des propriétés Math.LOG10E pour obtenir le logarithme en base 10. Disponibilité Flash Lite 2.0 Exemple Cet exemple indique comment obtenir le logarithme en base 10 d'un nombre : trace(Math.log(1000) * Math.LOG10E); Paramètres x:Number - Un nombre. Valeur renvoyée Pour appliquer une matrice de transformation à un clip, il suffit de créer l'objet flash.geom.Transform et de définir sa propriété Matrix sur la matrice de transformation. Les objets Matrix sont également utilisés en tant que paramètres de certaines méthodes, telle que la méthode draw() de la classe flash.display.BitmapData. Un objet de matrice de transformation est considéré comme étant une matrice 3 x 3 incluant le contenu suivant :

Dans le cas des matrices de transformation classiques, les propriétés u, v et w sont dotées de fonctionnalités supplémentaires. La classe Matrix fonctionne uniquement dans un espace bidimensionnel ; ainsi, elle suppose toujours que les valeurs des propriétés u et v sont 0,0, et que la valeur de la propriété w est 1,0. En d'autres termes, les valeurs réelles de la matrice sont les suivantes :

Vous pouvez obtenir et définir les valeurs des six autres propriétés d'un objet Matrix : a, b, c, d, tx et ty.

La classe Matrix prend en charge les quatre principaux types de fonctions de transformation : translation, redimensionnement, rotation et inclinaison. Trois de ces fonctions font appel à des méthodes spécialisées, tel que décrit dans le tableau ci-dessous. Transformation

Chaque fonction de transformation modifie les propriétés de matrice actuelles, ce qui vous permet d'associer plusieurs transformations. Pour ce faire, il vous suffit d'appeler plusieurs fonctions de transformation avant d'appliquer la matrice à son clip ou bitmap cible. Disponibilité Flash Lite 3.1 Par exemple, si la matrice m1 redimensionne un objet en le multipliant par 4 et si la matrice m2 fait pivoter un objet de 1,5707963267949 radians (Math.PI/2), alors m1.concat(m2) transforme m1 en matrice qui redimensionne un objet en le multipliant par 4 et le fait pivoter de Math.PI//2 radians. Cette méthode permet de remplacer la matrice source par la matrice concaténée. Si vous souhaitez concaténer deux matrices sans modifier l'une des deux matrices source, vous pouvez d'abord copier la matrice source via la méthode clone(), comme indiqué dans la section relative aux exemples. Disponibilité Flash Lite 3.1 Paramètres m:Matrix - Matrice à concaténer avec la matrice source. Exemple L'exemple suivant crée trois matrices définissant des transformations pour trois rectangles de clips. Les deux premières matrices rotate45Matrix et doubleScaleMatrix sont appliquées aux deux rectangles rectangleMc_1et rectangleMc_2. La troisième matrice est créée à l'aide de la méthode concat() sur rotate45Matrix et doubleScaleMatrix pour créer scaleAndRotateMatrix. Cette matrice est alors appliquée à rectangleMc_3 pour le redimensionner et le faire pivoter.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 377

Classes ActionScript

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 378

Classes ActionScript

La méthode translate() modifie les propriétés tx et ty de l'objet Matrix. Dans la notation des matrices, ceci est illustré comme suit :

Flash Lite 3.1 Paramètres tx:Number - La quantité de mouvement sur l'axe x vers la droite, en pixels. ty:Number - La quantité de mouvement vers le bas sur l'axe y, en pixels. Résumé des propriétés Propriétés héritées de la classe Object constructor (propriété Object.constructor), __proto__ (Object.__proto__, propriété), prototype (propriété Object.prototype), __resolve (Object.__resolve, propriété) Lorsque l'utilisateur clique sur le bouton de la souris, la déplace, relâche le bouton ou l'utilise pour faire défiler du texte, quel que soit le focus d'entrée, la méthode onMouseDown, onMouseMove ou onMouseUp de tous les objets écouteur enregistrés auprès de cette méthode est appelée. Plusieurs objets peuvent écouter les notifications de souris. Si l'écouteur est déjà enregistré, aucun changement ne se produit. Remarque : Cette méthode n'est prise en charge par Flash Lite que si System.capabilities.hasMouse est défini sur true ou si System.capabilities.hasStylus est défini sur true.

Flash Lite 2.0 • Dessinez un clip sur la scène dans l'outil de programmation Flash et donnez-lui un nom d'occurrence dans l'inspecteur Propriétés.

• Appelez la méthode attachMovie() pour créer une occurrence de clip en fonction d'un symbole de clip provenant de la bibliothèque.

• Appelez la méthode createEmptyMovieClip() pour créer une nouvelle occurrence de clip vide en tant qu'enfant reposant sur un autre clip.

• Appelez la méthode duplicateMovieClip() pour créer une occurrence de clip à partir d'un autre clip.

Disponibilité Flash Lite 2.0 Résumé des propriétés Modificateurs (percentage) tel qu'il est appliqué à partir du point d'alignement du clip.

Définit la coordonnée y d'un clip par rapport aux coordonnées locales du clip parent.

(percentage) tel qu'il est appliqué à partir du point d'alignement du clip.

Propriétés héritées de la classe Object constructor (propriété Object.constructor), __proto__ (Object.__proto__, propriété), prototype (propriété Object.prototype), __resolve (Object.__resolve, propriété)

Résumé des événements

Supprime le contenu d'une occurrence de clip.

Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode

Les bitmaps associés à un clip ne sont plus accessibles. Les paramètres depth, pixelSnapping et smoothing doivent être définis lors de l'appel de la méthode attachBitmap() et ne peuvent plus être modifiés ultérieurement. Utilisez d'abord createEmptyMovieClip() pour créer un clip vide. Utilisez ensuite la méthode attachBitmap(). De cette façon, vous pouvez appliquer des transformations au clip pour transformer le bitmap ; par exemple, vous pouvez appeler la propriété matrix du clip. L'accrochage aux pixels permet de placer le bitmap en fonction de la valeur de pixel intégral la plus proche et non pas en fonction d'une valeur partielle de pixel. Vous disposez de trois modes d'accrochage aux pixels :

• Le mode « Auto » (Automatique) procède à l'accrochage automatique tant que le bitmap n'est pas étiré ou n'a pas subi de rotation.

• Le mode « Always » (Toujours) procède systématiquement à l'accrochage aux pixels, quels que soient les facteurs d'étirement ou de rotation.

• Le mode « Never » (Jamais) désactive l'accrochage aux pixels pour le clip.

Le mode lissage affecte l'aspect de l'image lorsqu'elle est redimensionnée. Paramètres bmp:flash.display.BitmapData - Image de bitmap transparente ou opaque. depth:Number - Entier spécifiant le niveau de profondeur du clip devant recevoir l'image bitmap. pixelSnapping:String [facultatif] - Les modes d'alignement des pixels sont auto, always et never. Le mode par défaut est auto. smoothing:Boolean [facultatif] - Le mode de lissage est true si activé ou false si désactivé. Le mode par défaut est désactivé. Disponibilité Flash Lite 3.1 Exemple Le code suivant crée un objet BitmapData et l'associe à un clip : Paramètres id:String - Nom de liaison du symbole de clip de la bibliothèque à associer à un clip sur la scène. Il s'agit du nom entré dans le champ Identifiant de la boîte de dialogue Propriétés de liaison. name:String - Nom d'occurrence unique du clip en cours de liaison au clip. depth:Number - Entier spécifiant le niveau de profondeur du fichier SWF. initObject:Object [facultatif] - (Pris en charge à partir de Flash Player 6) Objet contenant les propriétés permettant de remplir le clip qui vient d'être lié. Ce paramètre permet aux clips créés de façon dynamique de recevoir des paramètres. Si initObject n'est pas un objet, il est ignoré. Toutes les propriétés de initObject sont copiées dans la nouvelle occurrence. Les propriétés spécifiées avec initObject sont disponibles pour la fonction constructeur. Valeur renvoyée MovieClip - Référence à la nouvelle occurrence. Exemple L'exemple suivant associe deux occurrences d'un symbole portant l'identifiant de liaison « circle » à une occurrence de clip sur la scène : this.attachMovie("circle", "circle1_mc", this.getNextHighestDepth()); this.attachMovie("circle", "circle2_mc", this.getNextHighestDepth(), {_x:50, _y:50}); • Les nombres d'éléments dans les paramètres colors, alphas et ratios ne sont pas égaux. • Le paramètre fillType n'est pas «

linéaire » or « radial ».

• L'un des champs de l'objet correspondant au paramètre matrix est manquant ou non valide.

Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 Paramètres fillType:String - Soit la chaîne « linear », soit la chaîne « radial ». colors:Array - Tableau de valeurs de couleurs RVB hexadécimales à utiliser pour le dégradé (par exemple, rouge correspond à 0xFF0000, bleu à 0x0000FF, etc.). alphas:Array - Tableau de valeurs alpha pour les couleurs correspondantes dans le tableau colors ; les valeurs valides vont de 0 à 100. Si cette valeur est inférieure à 0, Flash utilise 0. Si elle est supérieure à 100, Flash applique 100.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 406

Classes ActionScript

ratios:Array - Tableau de rapports de distribution des couleurs ; les valeurs valides sont comprises entre 0 et 255. Cette valeur définit le pourcentage de la largeur où la couleur est échantillonnée sur 100 %. matrix:Object - Matrice de transformation qui est un objet comportant l'un des deux jeux de propriétés suivants :

Paramètres controlX:Number - Entier qui spécifie la position horizontale du point de contrôle par rapport au point d'alignement du clip parent. controlY:Number - Entier qui spécifie la position verticale du point de contrôle par rapport au point d'alignement du clip parent. anchorX:Number - Entier qui spécifie la position horizontale du point d'ancrage suivant par rapport au point d'alignement du clip parent. anchorY:Number - Entier qui spécifie la position verticale du point d'ancrage suivant par rapport au point d'alignement du clip parent.

Exemple Remarque : Cette propriété n'est prise en charge par Flash Lite que si System.capabilities.hasMouse est définie sur true ou si System.capabilities.hasStylus est définie sur true. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant évalue la propriété _droptarget de l'occurrence de clip garbage_mc et utilise eval() pour convertir la syntaxe à barre oblique en syntaxe à point. La référence garbage_mc est alors comparée à la référence de l'occurrence de clip trashcan_mc. Si les deux références sont équivalentes, la visibilité de garbage_mc est définie sur false. Si elles divergent, l'occurrence garbage reprend sa position d'origine. Comparez cette méthode à la version fonction globale de duplicateMovieClip(). La version globale de cette méthode nécessite un paramètre spécifiant le clip cible à dupliquer. Ce type de paramètre n'est pas nécessaire pour la version classe MovieClip, dans la mesure où la cible de la méthode est l'occurrence de clip pour laquelle la méthode est appelée. De plus, la version globale de duplicateMovieClip() ne prend en charge ni le paramètre initobject ni la valeur renvoyée par une référence à la nouvelle occurrence de MovieClip. Disponibilité Flash Lite 2.0 Paramètres name:String - Un identificateur unique pour le clip dupliqué. depth:Number - Entier unique spécifiant la profondeur à laquelle le nouveau clip doit être placé. Utilisez la profondeur -16384 pour placer la nouvelle occurrence de clip sous l'ensemble des contenus créés dans l'environnement de programmation. Les valeurs comprises entre -16383 et -1, inclus, sont réservées à l'environnement de programmation et ne doivent pas être utilisées avec cette méthode. Les valeurs de profondeur restantes vont de 0 à 1048575, inclus. initObject:Object [facultatif] - (Pris en charge à partir de Flash Player 6.) Objet contenant les propriétés permettant de remplir le clip dupliqué. Ce paramètre permet aux clips créés de façon dynamique de recevoir des paramètres. Si initObject n'est pas un objet, il est ignoré. Toutes les propriétés de initObject sont copiées dans la nouvelle occurrence. Les propriétés spécifiées avec initObject sont disponibles pour la fonction constructeur.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 414

Classes ActionScript

être extraite d'un objet prototype. Si la propriété enabled est définie sur false, l'objet n'est pas inclus dans l'ordre de tabulation automatique.

Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 415

_focusrect de l'occurrence de clip unique. Remarque : Pour Flash Lite 2.0, lorsque la propriété _focusrect est désactivée (en d'autres termes, quand MovieClip._focusrect est défini sur false), le clip reçoit toujours les événements de pression de touche ou de

D'autre part, pour Flash Lite 2.0, vous pouvez modifier la couleur du rectangle de focus à l'aide de la commande fscommand2 SetFocusRectColor. Ce comportement diffère de Flash Lite Player, où la couleur du rectangle de focus est limitée au jaune. Disponibilité Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 Paramètres bounds:Object - Chemin cible du scénario dont vous souhaitez utiliser le système de coordonnées comme point de référence.

Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe.

Disponibilité Flash Lite 2.0 Valeur renvoyée Number - Profondeur du clip. Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 Paramètres depth:Number - Entier qui spécifie le niveau de profondeur à déterminer.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 421

Classes ActionScript

Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe.

Disponibilité Flash Lite 2.0 Valeur renvoyée Number - Entier reflétant le prochain index de profondeur disponible dont le rendu se situe au-dessus de tous les autres objets de même niveau et de même calque dans le clip. Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 Valeur renvoyée Number - Entier spécifiant la version de Flash Lite Player ciblée une fois le chargement du fichier SWF dans le clip publié. • Si allowScriptAccess n'est pas spécifié par une page HTML, la valeur par défaut "sameDomain" s'applique aux fichiers SWF de la version 8, et la valeur par défaut est "always" pour les fichiers SWF des versions antérieures. Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 Paramètres url:String - URL permettant d'obtenir le document. window:String [facultatif] - Paramètre spécifiant le nom, le cadre ou l'expression qui indique la fenêtre ou le cadre HTML où le document est chargé. Vous pouvez également utiliser l'un des noms cible réservés suivants : _self spécifie l'image actuelle dans la fenêtre actuelle ; _blank, une nouvelle fenêtre ; _parent, le parent de l'image actuelle ; et _top, l'image de premier niveau dans la fenêtre actuelle. method:String [facultatif] - Chaîne ("GET" ou "POST") qui spécifie une méthode d'envoi de variables associées au fichier SWF à charger. En l'absence de ces variables, omettez ce paramètre ; sinon, spécifiez si les variables doivent être chargées avec la méthode GET ou POST. GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. POST place les variables dans un en-tête HTTP distinct et s'applique aux variables longues de type chaîne. Exemple L'ActionScript suivant crée une nouvelle instance de clip et ouvre le site Web Adobe dans une nouvelle fenêtre du navigateur : this.createEmptyMovieClip("loader_mc", this.getNextHighestDepth()); loader_mc.getURL("http://www.adobe.com", "_blank");

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 424

Classes ActionScript

être appelées x et y)sont appelées coordonnées globales dans la mesure où elles font référence au coin supérieur gauche de la scène. La propriété x représente le décalage horizontal par rapport au coin supérieur gauche. En d'autres termes, elle représente la position droite du point. Par exemple, si x = 50, le point est situé à 50 pixels à droite du coin supérieur gauche. La propriété y représente le décalage vertical par rapport au coin supérieur gauche. En d'autres termes, elle représente la position basse du point. Par exemple, si y = 20, le point est situé à 20 pixels en dessous du coin supérieur gauche. Le code suivant crée un objet générique avec ces coordonnées : var myPoint:Object = new Object(); myPoint.x = 50; myPoint.y = 20;

En outre, vous pouvez créer l'objet et affecter les valeurs en même temps avec une valeur Object littérale : var myPoint:Object = {x:50, y:20};

Après avoir créé un objet point avec des coordonnées globales, vous pouvez convertir les coordonnées en coordonnées locales. La méthode globalToLocal() ne renvoie pas de valeur dans la mesure où elle change les valeurs de x et y dans l'objet générique envoyé en tant que paramètre. Elle les transforme de valeurs relatives à la scène (coordonnées globales) en valeurs relatives à un clip spécifique (coordonnées locales).

Par exemple, si vous créez un clip qui est placé au point (_x:100, _y:100), puis que vous transmettez le point local représentant le coin supérieur gauche de la scène (x:0, y:0) à la méthode globalToLocal(), la méthode doit convertir les valeurs x et y en coordonnées locales, soit (x:-100, y:-100). Ceci est dû au fait que les coordonnées x et y sont désormais exprimées par rapport au coin supérieur gauche de votre clip et non pas par rapport au coin supérieur gauche de la scène. Ces valeurs sont négatives dans la mesure où pour se déplacer du coin supérieur gauche du clip au coin supérieur gauche de la scène, vous devez vous déplacer de 100 pixels vers la gauche (x négatif) et de 100 pixels vers le haut (y négatif). Les coordonnées du clip ont été représentées par _x et _y, dans la mesure où il s'agit des propriétés MovieClip permettant de définir les valeurs x et y pour les clips. Cependant, votre objet générique utilise x et ysans le signe souligné. Le code suivant convertit les valeurs x et y en coordonnées locales :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 425

Classes ActionScript

Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe.

Disponibilité Flash Lite 2.0 Paramètres bloc:Object - Nombre représentant le numéro d'image ou chaîne représentant l'étiquette de l'image cible de la tête de lecture. Exemple L'exemple suivant utilise la propriété _framesloaded pour activer un fichier SWF lorsque toutes les images sont chargées. Si la totalité des images n'est pas chargée, la propriété _xscale de l'occurrence de clip loader est augmentée proportionnellement pour créer une barre de progression. Entrez le code ActionScript suivant dans l'image 1 du scénario : var pctLoaded:Number = Math.round(this.getBytesLoaded()/this.getBytesTotal()*100); bar_mc._xscale = pctLoaded;

Ajoutez le code suivant sur l'image 2 : if (this._framesloaded<this._totalframes) { this.gotoAndPlay(1);

} else { this.gotoAndStop(3); Paramètres bloc:Object - Numéro de l'image cible de la tête de lecture.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 427

Classes ActionScript

évaluée ; si x et y se chevauchent en un point quelconque, une valeur true est renvoyée. Cette évaluation est utile pour déterminer si le clip se trouve dans une zone active ou sensible spécifiée.

Utilisation 2 : Evalue les cadres de délimitation de l'occurrence target et spécifiée, et renvoie true s'ils se chevauchent ou se croisent en un point quelconque. Paramètres x: Number Coordonnée x de la zone active de la scène. y: Number Coordonnée y de la zone active de la scène.

Les coordonnées x et y sont définies dans l'espace de coordonnées global. shapeFlag: Boolean Valeur booléenne indiquant s'il convient d'évaluer la forme entière de l'occurrence spécifiée

(true), ou uniquement le cadre de délimitation (false). Ce paramètre peut être spécifié uniquement si la zone active est identifiée à l'aide des paramètres des coordonnées x et y. target: Object Chemin cible de la zone active susceptible de couvrir partiellement ou de recouvrir le clip. Le paramètre target représente généralement un bouton ou un champ de saisie.

Remarque : Les appels de clear() redéfinissent le style de trait sur undefined. Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 Paramètres thickness:Number - Entier qui indique l'épaisseur de la ligne en points ; les valeurs valides sont comprises entre 0 et 255. Si aucun nombre n'est spécifié, ou si le paramètre a la valeur undefined, aucune ligne n'est dessinée. Si vous transmettez une valeur négative, Flash applique 0. La valeur 0 correspond à un filet ; l'épaisseur maximum est de 255. Si vous transmettez une valeur supérieure à 255, l'interprète de Flash applique une valeur de 255. rgb:Number - Valeur colorimétrique hexadécimale de la ligne ; par exemple, rouge correspond à 0xFF0000, bleu à 0x0000FF, etc. En l'absence de valeur, Flash applique 0x000000 (noir). alpha:Number - Entier qui indique la valeur alpha de la couleur de la ligne ; les valeurs valides sont comprises entre 0 et 100. En l'absence de valeur, Flash applique 100 (uni). Si cette valeur est négative, Flash applique 0. Si elle est supérieure à 100, Flash applique 100. pixelHinting:Boolean - Valeur booléenne qui permet d'ajouter des indices supplémentaires de lissage des pixels. Cette valeur affecte à la fois la position des ancres de courbe et la taille du trait. Si pixelHinting est défini sur true, Flash Lite Player propose des indices de largeur des pixels. Si pixelHinting est défini sur false, les courbes et les lignes droites risquent de ne pas être continues. noScale:String - Chaîne indiquant comment redimensionner un trait. Les valeurs valides sont les suivantes : "normal"- Redimensionne toujours l'épaisseur (valeur par défaut)."none"- Ne redimensionne jamais l'épaisseur."vertical"- Ne redimensionne pas l'épaisseur si l'objet est uniquement redimensionné à la verticale."horizontal"- Ne redimensionne pas l'épaisseur si l'objet est uniquement redimensionné à l'horizontale. capsStyle:String - Chaîne qui spécifie le type d'extrémité au bout des lignes. Les valeurs correctes sont : "round", "square" et "none". En l'absence de valeur, Flash utilise des extrémités rondes. jointStyle:String - Chaîne qui indique le type d'aspect des liaisons utilisé aux angles. Les valeurs correctes sont : "round", "miter" et "bevel". En l'absence de valeurs, Flash utilise des liaisons rondes. miterLimit:Number - Nombre qui indique la limite à laquelle une pointe est coupée. Les valeurs gérées sont comprises entre 1 et 255 (et les valeurs qui excèdent cette plage sont arrondies à 1 ou 255). Cette valeur n'est utilisée que si jointStyle est défini sur "miter". En l'absence de valeur, Flash utilise 3. La valeur miterLimit représente la longueur maximale d'une pointe au-delà du point où les lignes se rencontrent pour former une liaison. La valeur exprime un facteur du paramètre thickness de la ligne. Par exemple, avec un facteur miterLimit de 2,5 et une valeur de thickness de 10 pixels, la pointe est coupée à 25 pixels. Exemple Le code suivant dessine un triangle dont la ligne fait 5 pixels et est en magenta uni.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 431

Classes ActionScript

Paramètres x:Number - Entier indiquant la position horizontale par rapport au point d'alignement du clip parent. y:Number - Entier indiquant la position verticale par rapport au point d'alignement du clip parent.

Exemple Un fichier SWF ou une image chargé(e) dans un clip hérite des propriétés position, rotation et scale (échelle) du clip. Vous pouvez utiliser le chemin cible du clip pour cibler le fichier SWF chargé. Appelez loadMovie() pour charger n'importe quel format d'image pris en charge par le périphérique. Par exemple, si le périphérique cible prend en charge les fichiers PNG, le code suivant charge et affiche un fichier PNG se trouvant sur un serveur Web : loadMovie("http://www.adobe.com/image.png", "image_target");

Pour déterminer les formats d'image pris en charge par le périphérique cible, utilisez la propriété

System.capabilities.imageMIMETypes qui contient un tableau des types d'image MIME pris en charge. L'index des éléments du tableau correspond aux différents types MIME. Par exemple, le code suivant détermine si un périphérique prend en charge les images PNG avant que le périphérique ne tente de charger un fichier PNG externe : if (System.capabilities.imageMIMETypes["image/png"]) { loadMovie("images/image.png", "mc_myPngImage"); }

Flash Lite ne permet à une application d'effectuer que cinq opérations loadMovie() pour une image donnée. Flash

Lite ne permet que dix opérations loadMovie() à la fois. Supposez par exemple que votre application contient du code à l'image 1 qui charge six images JPEG externes : image1.loadMovie("image1.jpg"); image2.loadMovie("image2.jpg"); image3.loadMovie("image3.jpg"); image4.loadMovie("image4.jpg"); image5.loadMovie("image5.jpg"); image6.loadMovie("image6.jpg"); // Won't load

Dans ce cas, seules les cinq premières images (de image1.jpg à image5.jpg) sont chargées. La dernière image

(image6.jpg) n'est pas chargée car la limite de cinq connexions est atteinte. Vous pouvez alors fractionner les appels loadMovie() sur plusieurs images afin que chaque image contienne un maximum de cinq appels loadMovie(). Lorsque vous appelez la méthode loadMovie(), définissez la propriété MovieClip._lockroot sur true dans l'animation de chargeur, comme le montre l'exemple de code suivant. Si vous ne définissez pas _lockroot sur true dans l'animation de chargeur, toute référence à _root dans l'animation chargée pointe vers la propriété _root du chargeur et non pas la propriété _root de l'animation chargée. myMovieClip._lockroot = true;

Utilisez la méthode MovieClip.unloadMovie() pour supprimer les fichiers SWF ou les images chargés avec la méthode loadMovie().

Utilisez la méthode MovieClip.loadVariables(), l'objet XML, Flash Remoting ou des objets partagés pour conserver le fichier SWF actif et y charger de nouvelles données.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 433

Classes ActionScript GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 434 Classes ActionScript

Pour les fichiers SWF lus par une version antérieure à Flash Player 7, l'url doit correspondre au superdomaine du fichier SWF envoyant cet appel. Le superdomaine est dérivé en supprimant le composant le plus à gauche de l'URL d'un fichier. Par exemple, un fichier SWF enregistré dans www.someDomain.com peut charger des données à partir d'une source figurant dans store.someDomain.com, car les deux fichiers appartiennent au même superdomaine que someDomain.com.

Pour les fichiers SWF, quelle que soit leur version, lus par Flash Player 7 ou une version plus récente, url doit correspondre exactement au superdomaine du fichier SWF émettant cet appel. Par exemple, un fichier SWF situé à l'adresse www.someDomain.com peut charger des données provenant uniquement de sources situées également à l'adresse www.someDomain.com. Pour charger des données provenant d'un domaine différent, vous pouvez placer un fichier de régulation interdomaines sur le serveur hébergeant la source de données à laquelle vous accédez. Pour charger des variables dans un niveau spécifique, utilisez loadVariablesNum() à la place de loadVariables(). Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 Paramètres url:String - URL absolue ou relative du fichier externe qui contient les variables à charger. Si le fichier SWF effectuant cet appel s'exécute dans un navigateur Web, url doit appartenir au même domaine que le fichier SWF. Pour plus de détails, consultez la section « Description », ci-dessous. method:String [facultatif] - Spécifie une méthode HTTP d'envoi des variables. Ce paramètre doit correspondre à la chaîne GET ou POST. En l'absence de variables à envoyer, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et est utilisée pour des variables longues de type chaîne. Exemple L'exemple suivant permet de charger les informations d'un fichier texte intitulé params.txt dans le clip target_mc créé à l'aide de createEmptyMovieClip(). La fonction setInterval() permet de vérifier la progression du chargement. Le script recherche une variable dans le fichier params.txt appelé done. this.createEmptyMovieClip("target_mc", this.getNextHighestDepth()); target_mc.loadVariables("params.txt"); function checkParamsLoaded() { if (target_mc.done == undefined) { trace("not yet."); } else { trace("finished loading. killing interval."); trace("-------------"); for (i in target_mc) { trace(i+": "+target_mc[i]); } trace("-------------"); clearInterval(param_interval); } être appelées x et y) sont appelées coordonnées locales dans la mesure où elles font référence au coin supérieur gauche du clip. La propriété x représente le décalage horizontal par rapport au coin supérieur gauche du clip. En d'autres termes, elle représente la position droite du point. Par exemple, si x = 50, le point est situé à 50 pixels à droite du coin supérieur gauche. La propriété y représente le décalage vertical par rapport au coin supérieur gauche du clip. En d'autres termes, elle représente la position basse du point. Par exemple, si y = 20, le point est situé à 20 pixels en dessous du coin supérieur gauche. Le code suivant crée un objet générique avec ces coordonnées. var myPoint:Object = new Object(); myPoint.x = 50; myPoint.y = 20;

En outre, vous pouvez créer l'objet et affecter les valeurs en même temps avec une valeur Object littérale. var myPoint:Object = {x:50, y:20};

Après avoir créé un objet point avec des coordonnées locales, vous pouvez convertir les coordonnées en coordonnées globales. La méthode localToGlobal() ne renvoie pas de valeur dans la mesure où elle change les valeurs de x et y dans l'objet générique envoyé en tant que paramètre. Elle les transforme de valeurs relatives à un clip (coordonnées locales) en valeurs relatives à la scène (coordonnées globales).

Par exemple, si vous créez un clip qui est placé au point (_x:100, _y:100), puis que vous transmettez le point local représentant un point près du coin supérieur gauche du clip (x:10, y:10) à la méthode localToGlobal(), la méthode doit convertir les valeurs x et y en coordonnées globales, soit (x:110, y:110). Ceci est dû au fait que les coordonnées x et y sont désormais exprimées par rapport au coin supérieur gauche de la scène et non pas par rapport au coin supérieur gauche du clip. Les coordonnées du clip ont été représentées par _x et _y, dans la mesure où il s'agit des propriétés MovieClip permettant de définir les valeurs x et y pour les clips. Cependant, votre objet générique utilise x et ysans le signe souligné. Le code suivant convertit les coordonnées x et y en coordonnées globales : var myPoint:Object = {x:10, y:10}; // create your generic point object this.createEmptyMovieClip("myMovieClip", this.getNextHighestDepth()); myMovieClip._x = 100; // _x for movieclip x position myMovieClip._y = 100; // _y for movieclip y position myMovieClip.localToGlobal(myPoint); trace ("x: " + myPoint.x); // output: 110 trace ("y: " + myPoint.y); // output: 110

Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe.

Disponibilité Flash Lite 2.0 Games.swf, toute utilisation de _root dans Chess.swf fasse référence à _root dans Chess.swf (et non pas à _root dans Games.swf). Si vous avez accès à Chess.fla et le publiez dans Flash Player 7 ou une version ultérieure, vous pouvez ajouter cette instruction à Chess.fla sur le scénario principal : this._lockroot = true;

Si vous n'avez pas accès à Chess.fla (par exemple, si vous chargez Chess.swf à partir du site d'un autre utilisateur dans chess_mc), vous pouvez définir la propriété _lockroot de Chess.swf, lorsque vous le chargez. Placez le code

ActionScript suivant sur le scénario principal de Games.fla : chess_mc._lockroot = true;

Dans ce cas, Chess.swf peut être publié pour n'importe quelle version de Flash Player, dans la mesure où Games.swf est publié pour Flash Player 7 ou une version ultérieure.

Lorsque vous appelez loadMovie(), définissez la propriété MovieClip._lockroot sur true dans l'animation de chargeur, comme le montre le code suivant. Si vous ne définissez pas _lockroot sur true dans l'animation de chargeur, toute référence à _root dans l'animation chargée pointe vers la propriété _root du chargeur et non pas la propriété _root de l'animation chargée :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 437

Classes ActionScript

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 439

Classes ActionScript

Le clip dynamic_mc est chargé avec MovieClip.loadMovie(). Le code utilisant dynamic_mc ci-dessous tente d'appeler une fonction pendant le chargement du clip, mais ne fonctionne pas. Le fichier SWF chargé doit être un symbole associé à la classe MovieClip dans la bibliothèque.

La dernière fonction utilise onClipEvent(data). Le gestionnaire d'événements onClipEvent() est appelé pour tout clip recevant des données, que le clip soit dans la bibliothèque ou non. Par conséquent, la dernière fonction de cet exemple est appelée lorsqu'une occurrence de symbol_mc est créée et lorsque replacement.swf est chargé.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 441

Classes ActionScript

Si Selection.setFocus() est utilisé, le chemin du clip doit être transmis à Selection.setFocus(). Les autres

éléments peuvent aisément reprendre le focus lorsque l'utilisateur déplace la souris. Disponibilité Flash Lite 2.0 Exemple Le gestionnaire d'événements onKeyUp fonctionne uniquement si le focus d'entrée du clip est activé et défini. D'abord, la propriété MovieClip.focusEnabled doit être définie sur true pour le clip. Ensuite, le clip doit recevoir le focus. Pour ce faire, utilisez Selection.setFocus() ou paramétrez la touche Tab pour naviguer jusqu'au clip. Si Selection.setFocus() est utilisé, le chemin du clip doit être transmis à Selection.setFocus(). Les autres éléments peuvent aisément reprendre le focus lorsque l'utilisateur déplace la souris. Disponibilité Flash Lite 2.0

Vous utilisez ce gestionnaire uniquement avec des clips disposant d'un symbole associé à une classe dans la bibliothèque. Si vous souhaitez qu'un gestionnaire d'événements soit appelé lors du chargement d'un clip spécifique, vous devez utiliser MovieClip.loadMovie() pour charger un fichier SWF de manière dynamique, vous devez utiliser la classe onClipEvent(load) ou MovieClipLoader à la place de ce gestionnaire. Contrairement à MovieClip.onLoad, les autres gestionnaires sont appelés lors du chargement d'un clip.

Disponibilité Flash Lite 2.0 Exemple Cet exemple indique comment utiliser le gestionnaire d'événements onLoad dans une définition de classe ActionScript 2.0 qui étend la classe MovieClip. Tout d'abord, créez le fichier Oval.as et définissez une méthode de classe appelée onLoad() et assurez-vous que le chemin du fichier de classe est correct : // contents of Oval.as class Oval extends MovieClip{ public function onLoad () { trace ("onLoad called"); } } ActionScript 2.0 » avec le mot « Oval » (sans guillemets). Assurez-vous que « Exporter dans la première image » reste activé et cliquez sur OK. En troisième lieu, passez à la première image de votre fichier et entrez le code suivant dans le panneau Actions : var myOval:Oval = Oval(attachMovie("Oval","Oval_1",1));

Enfin, créez une animation de test, ce qui renvoie normalement le texte « onLoad called ».

Voir aussi loadMovie (méthode MovieClip.loadMovie), onClipEvent, gestionnaire, MovieClipLoader

Remarque : Ce gestionnaire d'événement n'est pris en charge par Flash Lite que si System.capabilities.hasMouse a pour valeur true ou si System.capabilities.hasStylus a pour valeur true.

Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 448

Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Vous pouvez définir cette fonction sur le scénario ou dans un fichier de classe qui étend la classe MovieClip ou lié à un symbole dans la bibliothèque. Disponibilité Flash Lite 2.0 Paramètres oldFocus:Object - Objet perdant le focus. Exemple L'exemple suivant affiche des informations sur le clip qui reçoit le focus d'entrée et l'occurrence qui vient de le céder. Deux clips, appelés my_mc et other_mc, sont sur la scène. Ajoutez le code ActionScript suivant à votre document AS ou FLA : my_mc.onRelease = Void; other_mc.onRelease = Void; my_mc.onSetFocus = function(oldFocus) { trace("onSetFocus called, previous focus was: "+oldFocus); }

Lorsque vous appuyez sur la touche de tabulation entre deux occurrences, les informations s'affichent dans le panneau

Sortie. Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 Exemple Chaque fois que vous cliquez sur un bouton dans l'exemple suivant, vous liez une occurrence de clip à la scène à une position choisie au hasard. Lorsque vous cliquez sur une occurrence de clip, vous la supprimez du fichier SWF.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 453

Classes ActionScript

(ce qui est possible avec des calques de masque). Si un clip masqué dispose de polices de périphérique, celles-ci sont tracées, et non masquées. Vous ne pouvez pas définir un clip comme étant son propre masque, par exemple my_mc.setMask(my_mc).

Si vous créez un calque de masque contenant un clip, puis que vous appliquez la méthode setMask() à celui-ci, l'appel setMask() est prioritaire et cette action est irréversible. Par exemple, vous pouvez disposer d'un clip dans d'un calque de masque appelé UIMask qui dissimule un autre calque qui contient un autre clip appelé UIMaskee. Si, pendant la lecture du fichier SWF, vous appelez UIMask.setMask(UIMaskee), à partir de ce moment, UIMask est masqué par UIMaskee. Pour annuler un masque créé avec ActionScript, transmettez la valeur null à la méthode setMask(). Le code suivant annule le masque sans affecter le calque de masque dans le scénario. UIMask.setMask(null);

Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe.

Disponibilité Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Remarque : Cette méthode n'est prise en charge par Flash Lite que si System.capabilities.hasMouse est défini sur true ou si System.capabilities.hasStylus est défini sur true. Disponibilité Flash Lite 2.0 Paramètres lockCenter:Boolean [facultatif] - Valeur booléenne spécifiant si le clip à déplacer est verrouillé au centre de la position de la souris (true) ou au point où l'utilisateur a cliqué sur le clip en premier lieu (false). left:Number [facultatif] - Valeur relative aux coordonnées du parent du clip, qui spécifient le rectangle de délimitation du clip. haut:Number [facultatif] - Valeur relative aux coordonnées du parent du clip, qui spécifient le rectangle de délimitation du clip. droite:Number [facultatif] - Valeur relative aux coordonnées du parent du clip, qui spécifient le rectangle de délimitation du clip. bas:Number [facultatif] - Valeur relative aux coordonnées du parent du clip, qui spécifient le rectangle de délimitation du clip. Exemple Remarque : Cette méthode n'est prise en charge par Flash Lite que si System.capabilities.hasMouse est défini sur true ou si System.capabilities.hasStylus est défini sur true. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant crée une occurrence de clip déplaçable appelée mc_1 : L'exemple suivant permet de permuter l'ordre des deux occurrences de clip. Superposez deux occurrences de clip, appelées myMC1_mc et myMC2_mc, sur la scène puis ajoutez le script suivant au scénario parent :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 458

Classes ActionScript

La propriété tabChildren n'a aucun effet si la propriété tabIndex est utilisée. La propriété tabChildren n'affecte que l'ordre de tabulation automatique.

L'exemple suivant désactive l'ordre de tabulation de tous les clips enfants au sein d'un clip parent appelé menu_mc : menu_mc.onRelease = function(){}; menu_mc.menu1_mc.onRelease = function(){}; menu_mc.menu2_mc.onRelease = function(){}; menu_mc.menu3_mc.onRelease = function(){}; menu_mc.menu4_mc.onRelease = function(){}; menu_mc.tabChildren = false;

Modifiez la dernière ligne de code ci-dessous, de façon à inclure les occurrences de clip enfant de menu_mc dans l'ordre de tabulation automatique : menu_mc.tabChildren = true;

Si la propriété tabEnabled est définie sur false, l'objet n'est pas inclus dans l'ordre de tabulation automatique ou personnalisé, même si la propriété tabIndex est définie. Toutefois si MovieClip.tabChildren est définie sur true, les enfants du clip peuvent toujours être inclus dans l'ordre de tabulation automatique, même si tabEnabled est définie sur false.

Disponibilité Flash Lite 2.0 Exemple La propriété tabIndex doit être un entier positif. Les objets sont triés selon leurs propriétés tabIndex, par ordre croissant. Un objet dont la propriété tabIndex est définie sur 1 précède un objet dont la propriété tabIndex est définie sur 2. L'ordre de tabulation personnalisé ignore les relations hiérarchiques des objets contenus dans un fichier SWF. Tous les objets du fichier SWF, dotés de propriétés tabIndex, sont placés dans l'ordre de tabulation. N'utilisez pas la même valeur de tabIndex pour plusieurs objets. Disponibilité Flash Lite 2.0 Exemple Le code ActionScript suivant met en place un ordre de tabulation personnalisé pour trois occurrences de clip. Remarque : Cette propriété n'est prise en charge par Flash Lite que si System.capabilities.hasMouse est définie sur true ou si System.capabilities.hasStylus est définie sur true. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant définit la propriété trackAsMenu pour trois clips de la scène. Cliquez sur un clip et relâchez le bouton de la souris sur un autre clip pour déterminer l'occurrence recevant l'événement. myMC1_mc.trackAsMenu = true; myMC2_mc.trackAsMenu = true; myMC3_mc.trackAsMenu = false; myMC1_mc.onRelease = clickMC; myMC2_mc.onRelease = clickMC; myMC3_mc.onRelease = clickMC; function clickMC() { trace("you clicked the "+this._name+" movie clip."); Chacune des propriétés de l'objet transform constitue un objet. Ceci est important dans la mesure où la seule façon de définir de nouvelles valeurs pour les objets matrix ou colorTransform consiste à créer un objet et à le copier dans la propriété transform.matrix ou transform.colorTransform. Par exemple, pour augmenter la valeur tx d'une matrice de clip, vous devez copier l'intégralité de l'objet matrix, modifier la propriété tx du nouvel objet, puis copier le nouvel objet dans la propriété matrix de l'objet transform : var myMatrix:Object = myDisplayObject.transform.matrix; myMatrix.tx += 10; myDisplayObject.transform.matrix = myMatrix;

Vous ne pouvez pas définir directement la propriété tx. Le code suivant n'a pas d'effet sur myDisplayObject: myDisplayObject.transform.matrix.tx += 10;

Vous pouvez copier un objet transform et l'associer à la propriété transform d'un autre clip. Par exemple, le code suivant copie l'objet transform dans son intégralité, de myOldDisplayObj à myNewDisplayObj : myNewDisplayObj.transform = myOldDisplayObj.transform;

Le nouveau clip, myNewDisplayObj, dispose désormais des mêmes valeurs que l'ancien clip pour sa matrice, pour la transformation de couleurs et les limites de pixels, myOldDisplayObj.

Disponibilité Flash Lite 3.1 Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité Flash Lite 2.0 MovieClipLoader.onLoadStart est appelé.

• Si vous avez implémenté l'écouteur MovieClipLoader.onLoadProgress, il est appelé lors du processus de chargement.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 470

Classes ActionScript

• Remarque : Vous pouvez appeler MovieClipLoader.getProgress() à tout moment au cours du processus de chargement.

• Lorsque le fichier téléchargé est écrit sur le disque, l'écouteur MovieClipLoader.onLoadComplete est appelé.

• Une fois les actions de la première image du fichier téléchargé exécutées, l'écouteur MovieClipLoader.onLoadInit est appelé.

Après l'appel de MovieClipLoader.onLoadInit, vous pouvez définir des propriétés, utiliser des méthodes et interagir avec le clip chargé.

Si le chargement du fichier ne s'effectue pas entièrement, l'écouteur MovieClipLoader.onLoadError est appelé. Disponibilité Flash Lite 2.0 Résumé des propriétés Propriétés héritées de la classe Object constructor (propriété Object.constructor), __proto__ (Object.__proto__, propriété), prototype (propriété Object.prototype), __resolve (Object.__resolve, propriété) • Le gestionnaire MovieClipLoader.onLoadStart est appelé au début du chargement. • Le gestionnaire MovieClipLoader.onLoadError est appelé si le clip ne peut pas être chargé. • Le gestionnaire MovieClipLoader.onLoadProgress est appelé pendant le processus de chargement. • Le gestionnaire MovieClipLoader.onLoadComplete est appelé lorsqu'un fichier termine son chargement, mais avant la mise à disposition des méthodes et des propriétés du clip qui vient d'être chargé. Ce gestionnaire est appelé avant le gestionnaire onLoadInit.

• Le gestionnaire MovieClipLoader.onLoadInit est appelé une fois les actions de la première image du clip exécutées, de manière à ce que vous puissiez commencer à manipuler le clip chargé. Ce gestionnaire est appelé après le gestionnaire onLoadComplete. Dans la plupart des cas, utilisez le gestionnaire onLoadInit.

Un fichier SWF ou une image chargé(e) dans un clip hérite des propriétés position, rotation et scale (échelle) du clip. Vous pouvez utiliser le chemin cible du clip pour cibler l'animation chargée.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 474

Classes ActionScript

Vous pouvez utiliser la méthode loadClip() pour charger un ou plusieurs fichiers dans un clip ou un niveau unique ; les objets écouteurs MovieClipLoader sont transmis à l'occurrence de clip en cours de chargement sous forme de paramètre. Vous pouvez également créer un objet MovieClipLoader différent pour chaque fichier que vous chargez.

Utilisez MovieClipLoader.unloadClip() pour supprimer des animations ou des images chargées à l'aide de cette méthode ou pour annuler une opération de chargement en cours. MovieClipLoader.getProgress() et MovieClipLoaderListener.onLoadProgress n'indiquent pas les valeurs

réelles de bytesLoaded et bytesTotal dans le lecteur de programmation lorsque les fichiers sont locaux. Lorsque vous utilisez la fonctionnalité Testeur de bande passante dans l'environnement de programmation,

MovieClipLoader.getProgress() et MovieClipLoaderListener.onLoadProgress signalent le téléchargement à la vitesse de téléchargement réelle, et non selon la valeur de la bande passante réduite fournie par le testeur de bande passante. Disponibilité Flash Lite 2.0 Paramètres url:String - URL absolue ou relative du fichier SWF ou JPEG à charger. Un chemin relatif doit être relatif au fichier SWF au niveau 0. Les URL absolues doivent inclure la référence de protocole, telle que http:// ou file:///. Les noms de fichier ne doivent pas inclure les spécifications de lecteur de disque. target:Object - Chemin cible d'un clip ou entier spécifiant le niveau de Flash Lite Player devant recevoir le fichier à charger. Le clip cible est remplacé par le fichier SWF chargé ou l'image. Créez une méthode de gestionnaire pour l'événement onLoadInit. public function onLoadInit(mc:MovieClip):Void { trace("onLoadInit: " + mc); }

Créez un clip vide et chargez une image dedans à l'aide de MovieClipLoader. var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth()); var mcLoader:MovieClipLoader = new MovieClipLoader(); mcLoader.addListener(this); mcLoader.loadClip("YourImage.jpg", container); function onLoadInit(mc:MovieClip) { trace("onLoadInit: " + mc);

Lorsque vous utilisez les événements onLoadComplete et onLoadInit avec la classe MovieClipLoader, il est important de comprendre les différences par rapport à l'utilisation d'un fichier SWF. L'événement onLoadComplete est appelé lorsque le chargement du fichier SWF ou JPEG est terminé, mais avant l'initialisation de l'application. A ce stade, vous ne pouvez pas accéder aux méthodes et aux propriétés du clip qui a été chargé, ce qui implique que vous ne pouvez pas appeler de fonctions, passer à une image spécifique, etc. Dans la plupart des situations, il est préférable d'utiliser l'événement onLoadInit qui est appelé une fois le contenu chargé et entièrement initialisé. Disponibilité Flash Lite 2.0 Paramètres listenerObject: - Objet écouteur ajouté à l'aide de MovieClipLoader.addListener(). target_mc: [facultatif] - Clip chargé par une méthode MovieClipLoader.loadClip(). Ce paramètre est facultatif. Exemple L'exemple suivant charge une image dans une occurrence de clip appelée image_mc. Les événements onLoadInit et onLoadComplete permettent de déterminer le temps de chargement de l'image. Les informations s'affichent dans un champ texte créé de façon dynamique et appelé timer_txt.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 476

Classes ActionScript

La valeur de target_mc identifie le clip pour lequel cet appel est effectué. Ce paramètre est particulièrement utile si vous chargez plusieurs fichiers avec le même jeu d'écouteurs.

Pour le paramètre errorCode, la chaîne « URLNotFound » est renvoyée si l'écouteur MovieClipLoader.onLoadStart ou MovieClipLoader.onLoadComplete n'a pas été appelé ; par exemple si le serveur est indisponible ou si le fichier est introuvable. La chaîne « LoadNeverCompleted » est renvoyée si l'écouteur MovieClipLoader.onLoadStart a été appelé mais pas l'écouteur MovieClipLoader.onLoadComplete ; par exemple si le téléchargement a été interrompu en raison d'un encombrement du serveur, d'une panne de serveur, etc. Disponibilité Flash Lite 2.0 Paramètres target_mc: - Clip chargé par une méthode MovieClipLoader.loadClip(). errorCode: - Chaîne qui précise les raisons de l'échec. Exemple L'exemple suivant affiche des informations dans le panneau Sortie lorsqu'une image ne se charge pas.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 477

Classes ActionScript

La valeur de target_mc identifie le clip pour lequel cet appel est effectué. Cela est particulièrement utile lorsque vous chargez plusieurs fichiers avec le même jeu d'écouteurs.

Remarque : Si vous tentez d'utiliser onLoadProgress en mode test d'animation sur un fichier local résidant sur votre disque dur, il ne fonctionne pas correctement car, en mode test d'animation, Flash Lite Player charge intégralement les fichiers locaux. Paramètres target_mc: MovieClip [facultatif] - Clip chargé par une méthode MovieClipLoader.loadClip(). loadedBytes: Number - Nombre d'octets chargés lorsque l'écouteur a été appelé. totalBytes: Number - Nombre total d'octets dans le fichier chargé.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 479

Classes ActionScript La valeur de target_mc identifie le clip pour lequel cet appel est effectué. Ce paramètre est particulièrement utile si vous chargez plusieurs fichiers avec le même jeu d'écouteurs. Disponibilité Flash Lite 2.0 Paramètres target_mc: [facultatif] - Clip chargé par une méthode MovieClipLoader.loadClip(). Exemple L'exemple suivant charge une image dans une occurrence de clip appelée image_mc. Les événements onLoadInit et onLoadComplete permettent de déterminer le temps de chargement de l'image. Ces informations s'affichent dans le champ texte appelé timer_txt.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 480

Classes ActionScript

• Par défaut, le site Web refuse l'accès entre des Sandbox. Le site Web peut autoriser l'accès à une ressource en utilisant un fichier de régulation inter-domaines.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 483

Classes ActionScript

• Un site peut refuser l'accès à une ressource en ajoutant une logique d'application ActionScript côté serveur dans

Flash Media Server. NetStream.close().) Si vous appelez cette méthode et souhaitez vous reconnecter, vous devez recréer l'objet NetStream. Disponibilité Flash Lite 3.0 La lecture de fichiers FLV externes offre plusieurs avantages par rapport à l'intégration de vidéo dans un document Flash : amélioration des performances et de la gestion de la mémoire, indépendance par rapport aux cadences vidéo et Flash. La classe NetConnection permet de lire des fichiers FLV en flux continu à partir d'un lecteur local ou d'une adresse HTTP. Disponibilité Flash Lite 3.0 Exemple Server. Pour plus d'informations, consultez la documentation de Flash Media Server. Exemple L'exemple suivant crée de façon dynamique un champ texte qui donne des informations sur le nombre de secondes actuellement en mémoire tampon. Ce champ donne également la longueur de tampon définie pour la vidéo et le pourcentage de cette valeur qui est utilisée. this.createTextField("buffer_txt", this.getNextHighestDepth(), 10, 10, 300, 22); buffer_txt.html = true; var connection_nc:NetConnection = new NetConnection(); connection_nc.connect(null); var stream_ns:NetStream = new NetStream(connection_nc); stream_ns.setBufferTime(3); my_video.attachVideo(stream_ns); stream_ns.play("video1.flv"); var buffer_interval:Number = setInterval(checkBufferTime, 100, stream_ns); function checkBufferTime(my_ns:NetStream):Void { var bufferPct:Number = Math.min(Math.round(my_ns.bufferLength/my_ns.bufferTime*100), 100); var output_str:String = "<textformat tabStops='[100,200]'>"; output_str += "Length: "+my_ns.bufferLength+"\t"+"Time: "+my_ns.bufferTime+"\t"+"Buffer:"+bufferPct+"%"; output_str += "</textformat>"; buffer_txt.htmlText = output_str; } (un dixième de seconde). Pour déterminer le nombre de secondes actuellement dans la mémoire tampon, utilisez NetStream.bufferLength. Disponibilité Flash Lite 3.0 Remarque : Cette propriété est également prise en charge dans Flash Player 6 lorsqu'elle est utilisée avec Flash Media Server. Pour plus d'informations, consultez la documentation de Flash Media Server. Exemple L'exemple suivant crée de façon dynamique un champ texte qui donne des informations sur le nombre de secondes actuellement en mémoire tampon. Ce champ donne également la longueur de tampon définie pour la vidéo et le pourcentage de cette valeur qui est utilisée. this.createTextField("buffer_txt", this.getNextHighestDepth(), 10, 10, 300, 22); buffer_txt.html = true; var connection_nc:NetConnection = new NetConnection(); connection_nc.connect(null); var stream_ns:NetStream = new NetStream(connection_nc); stream_ns.setBufferTime(3); my_video.attachVideo(stream_ns); stream_ns.play("video1.flv"); var buffer_interval:Number = setInterval(checkBufferTime, 100, stream_ns); function checkBufferTime(my_ns:NetStream):Void { var bufferPct:Number = Math.min(Math.round(my_ns.bufferLength my_ns.bufferTime*100), 100); var output_str:String = "<textformat tabStops='[100,200]'>"; output_str += "Length: "+my_ns.bufferLength+"\t"+"Time: "+my_ns.bufferTime+"\t"+"Buffer:"+bufferPct+"%"; output_str += "</textformat>"; buffer_txt.htmlText = output_str; } à un utilisateur qui attend la fin du chargement des données dans la mémoire tampon de consulter le compte rendu. Disponibilité Flash Lite 3.0 Exemple L'exemple suivant crée une barre de progression avec l'API de dessin, ainsi que les propriétés bytesLoaded et bytesTotal. La barre affiche la progression du chargement de video1.flv dans l'occurrence d'objet vidéo appelée my_video. Un champ texte appelé loaded_txt est créé de façon dynamique pour afficher également des informations sur la progression du processus de chargement. Server. Pour plus d'informations, consultez la documentation de Flash Media Server.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 489

Classes ActionScript

Communication Server. Pour plus d'informations, consultez la documentation de Flash Communication Server.

Paramètres connection:NetConnection - Un objet NetConnection. Exemple Le code suivant construit un nouvel objet NetConnection, connection_nc, et l'utilise pour construire un nouvel objet NetStream appelé stream_ns. Sélectionnez Nouvelle vidéo dans le menu d'options Bibliothèque pour créer une occurrence d'objet vidéo et appelez cette occurrence my_video. var connection_nc:NetConnection = new NetConnection(); connection_nc.connect(null); var stream_ns:NetStream = new NetStream(connection_nc); my_video.attachVideo(stream_ns); stream_ns.play("video1.flv");

Server. Pour plus d'informations, consultez la documentation de Flash Media Server.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 490

Classes ActionScript

Propriété de niveau

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 492 Classes ActionScript

Un point de repère de « navigation » spécifie une image-clé intégrée au fichier FLV, à laquelle correspond la propriété time de ce point. Ces points de repère de navigation sont souvent utilisés comme des signets ou des points d'entrée pour permettre aux utilisateurs de naviguer dans le fichier vidéo.

Un point de repère d'« événement » est spécifié par un minutage, que celui-ci corresponde ou non à une image-clé spécifique. Ces points de repère représentent généralement une heure dans la vidéo lorsqu'un événement qui survient est susceptible de déclencher d'autres événements d'application. Le gestionnaire d'événements onCuePoint reçoit un objet doté des propriétés suivantes : Propriété

Le gestionnaire d'événements onMetaData récupère également des informations sur les points de repère dans un fichier vidéo. Toutefois, il collecte des informations sur tous les points de repère avant la lecture de la vidéo. Le gestionnaire d'événements onCuePoint reçoit des informations sur un point de repère au moment spécifié pour celuici lors de la lecture. En général, si vous souhaitez que votre code corresponde à un point de repère particulier au moment où il survient, vous devez utiliser le gestionnaire d'événements onCuePoint pour déclencher une action dans votre code. Vous pouvez utiliser la liste des points de repère transmise au gestionnaire d'événements onMetaData() pour permettre à l'utilisateur de lire la vidéo à des points prédéfinis du flux. Envoyez les valeurs de la propriété time du point de repère à la méthode NetStream.seek() pour lire la vidéo à partir de ce point de repère. Disponibilité Flash Lite 3.0 Paramètres infoObject:Object - Objet contenant le nom, l'heure, le type et les paramètres du point de repère. Exemple Le code donné dans cet exemple commence par la création de nouveaux objets NetConnection et NetStream. Il définit ensuite le gestionnaire onCuePoint() de l'objet NetStream. Le gestionnaire passe en revue toutes les propriétés nommées dans l'objet infoObject reçu et imprime le nom et la valeur de la propriété. Lorsqu'il trouve les paramètres nommés de la propriété, il passe en revue chaque nom dans la liste et imprime leur nom et leur valeur.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 493

Classes ActionScript

Dans la plupart des cas, la valeur de durée intégrée dans les métadonnées FLV se rapproche de la durée réelle, mais n'est pas exacte. En d'autres termes, elle ne correspond pas toujours à la valeur de la propriété NetStream.time lorsque la tête de lecture est à la fin du flux vidéo.

Disponibilité Flash Lite 3.0 Paramètres infoObject: Object - Objet comprenant une propriété pour chaque élément de métadonnées.

Server. Pour plus d'informations, consultez la documentation de Flash Media Server.

Exemple La fonction close() suivante ferme une connexion et supprime la copie temporaire de video1.flv, qui a été stockée sur le disque local lorsque vous cliquez sur le bouton nommé close_btn : var connection_nc:NetConnection = new NetConnection(); connection_nc.connect(null); var stream_ns:NetStream = new NetStream(connection_nc); my_video.attachVideo(stream_ns); stream_ns.play("video1.flv"); close_btn.onRelease = function(){ stream_ns.close(); };

Server. Pour plus d'informations, consultez la documentation de Flash Media Server.

Paramètres flag : Boolean [facultatif] - Valeur booléenne spécifiant la suspension (true) ou la reprise (false) de la lecture. Si vous omettez ce paramètre, NetStream.pause() permet de procéder au basculement : lorsque cette méthode est appelée pour la première fois sur un flux spécifique, elle interrompt la lecture et, lors de l'appel suivant, la reprend. Exemple Les exemples ci-dessous illustrent diverses façons d’utiliser cette méthode :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 496

Si le fichier FLV est introuvable, le gestionnaire d'événements NetStream.onStatus est appelé. Si vous souhaitez interrompre un flux en cours de lecture, utilisez NetStream.close(). Vous pouvez lire les fichiers FLV locaux stockés dans le même répertoire que le fichier SWF ou dans un sousrépertoire ; vous ne pouvez pas naviguer vers un répertoire de niveau supérieur. Par exemple, si le fichier SWF se trouve dans un répertoire nommé /training, et si vous souhaitez lire une vidéo stockée dans le répertoire /training/videos, utilisez la syntaxe suivante : my_ns.play("videos/videoName.flv");

Pour lire une vidéo stockée dans le répertoire /training, utilisez la syntaxe suivante : my_ns.play("videoName.flv");

Lorsque vous employez cette méthode, considérez le modèle de sécurité Flash Player.

Pour Flash Player 8 : NetStream.play() n'est pas autorisé si le fichier SWF appelant est dans le sandbox local avec système de fichiers et

que la ressource est dans un sandbox non local.

L'accès au sandbox réseau à partir d'un sandbox local approuvé ou de réseau local nécessite une autorisation du site au travers d'un fichier de régulation interdomaine. Pour plus d'informations, consultez les sections suivantes : Le livre blanc Sécurité de Flash Player 9 à l'adresse http://www.adobe.com/go/fp9_0_security_fr Le livre blanc API relative à la sécurité de Flash Player 8 à l'adresse http://www.adobe.com/go/fp8_security_apis_fr Disponibilité Flash Lite 3.0 Remarque : Cette méthode est également prise en charge dans Flash Player 6 lorsqu'elle est utilisée avec Flash Media Server. Pour plus d'informations, consultez la documentation de Flash Media Server. Paramètres name : Object - Nom du fichier FLV à lire, entre guillemets. Les formats http:// et file:// sont pris en charge ; l'emplacement file:// est toujours relatif par rapport à l'emplacement du fichier SWF. start : Number - Utilisez avec·Flash Media Server ; voir : la documentation de Flash Media Server.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 497

Classes ActionScript Server. Pour plus d'informations, consultez la documentation de Flash Media Server. Paramètres offset:Number - Valeur de temps approximative, en secondes, à laquelle déplacer la tête de lecture dans un fichier FLV. La tête de lecture se place sur l'image clé de la vidéo qui est la plus proche de la valeur spécifiée par l'offset.

• Pour revenir au début du flux de diffusion, transmettez 0 à l'offset.

• Pour effectuer une recherche en partant du début du flux, transmettez le nombre de secondes à appliquer. Par exemple, pour placer la tête de lecture 15 secondes après le début, utilisez my_ns.seek(15).

• Pour effectuer une recherche par rapport à la position courante, transmettez my_ns.time

été exportée. Par exemple, vous possédez deux objets vidéo représentant la même vidéo, l'un exporté à 6 fps et l'autre à 30. Si vous utilisez my_ns.seek(15) pour les deux objets, la tête de lecture se place à deux endroits différents. Exemple L'exemple ci-dessous illustre diverses façons d'utiliser la commande NetStream.seek(). Vous pouvez revenir au début du flux, aller à un emplacement à 30 secondes du début du flux et revenir en arrière de trois minutes par rapport à l'emplacement actuel :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 498

Classes ActionScript Server. Pour plus d'informations, consultez la documentation de Flash Media Server. Paramètres bufferTime:Number - Nombre de secondes pendant lesquelles les données sont placées en mémoire tampon avant

que Flash ne les affiche. La valeur par défaut est 0,1 (un dixième de seconde).

Exemple Reportez-vous à l'exemple de NetStream.bufferLength.

Les propriétés de la classe Number sont statiques, ce qui signifie qu'il n'est pas nécessaire de disposer d'un objet pour les utiliser ; par conséquent, il n'est pas nécessaire d'utiliser le constructeur. L'exemple suivant appelle la méthode toString() de la classe Number, qui renvoie la chaîne 1234 : var myNumber:Number = new Number(1234); myNumber.toString();

L'exemple suivant affecte la valeur de la propriété MIN_VALUE à une variable déclarée sans l'utilisation du constructeur :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 499

Classes ActionScript

Une fonction de « définition » est une fonction qui prend un paramètre, qui correspond à la nouvelle valeur de la propriété. Par exemple, si la propriété x est affectée par l'instruction x = 1, la fonction de définition transmise est le paramètre 1 du numéro de type. La valeur renvoyée par la fonction de définition est ignorée.

Vous pouvez ajouter des propriétés de lecture/définition à des objets prototypes. Dans ce cas, toutes les occurrences d’objet qui héritent de l’objet prototype héritent de la propriété de lecture/définition. Cela permet d’ajouter une propriété de lecture/définition à un emplacement, au niveau de l’objet prototype, et de la propager à toutes les occurrences d’une classe, tout comme lorsque vous ajoutez des méthodes à des objets prototypes. Si une fonction de lecture/définition est invoquée pour une propriété de lecture/définition dans un objet prototype hérité, la référence transmise à la fonction de lecture/définition sera l'objet originellement référencé et non l'objet prototype. En cas d'appel incorrect, Object.addProperty() risque d'échouer et de provoquer une erreur. Le tableau suivant décrit les erreurs qui risquent de se produire :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 505

Classes ActionScript

Renvoie false et la propriété n'est pas ajoutée.

L'objet de définition getter n'est pas un objet de fonction valide.

Renvoie false et la propriété n'est pas ajoutée.

L'objet de définition setter n'est pas un objet de fonction valide.

Renvoie false et la propriété n'est pas ajoutée.

Cependant, l'effet est le même que celui du code de l'exemple qui a ajouté bookcount et bookname directement dans chaque occurrence. Si vous tentez d'accéder à l'une de ces propriétés dans une occurrence de Book, l'absence de la propriété entraîne le chaînage de prototype jusqu'à ce que les versions définies dans Book.prototype soient détectées. L'exemple suivant indique comment ajouter les propriétés à Book.prototype : function Book() {} Book.prototype.setQuantity = function(numBooks:Number):Void { this.books = numBooks; }; Book.prototype.getQuantity = function():Number { return this.books; Les propriétés que vous créez sont énumérables, contrairement aux propriétés intégrées qui ne le sont généralement pas. Disponibilité Flash Lite 2.0 Paramètres name : String - Nom de la propriété à vérifier. Valeur renvoyée Boolean - Valeur booléenne : true si la propriété spécifiée par le paramètre name est énumérable. Exemple L'exemple suivant crée un objet générique, ajoute une propriété à cet objet, puis vérifie si elle est énumérable. Par contraste, l'exemple indique également qu'une propriété intégrée, la propriété Array.length n'est pas énumérable. var myObj:Object = new Object(); myObj.prop1 = "hello"; trace(myObj.isPropertyEnumerable("prop1")); // Output: true var myArray = new Array(); trace(myArray.isPropertyEnumerable("length")); // Output: false à tout objet classe ou fonction que vous créez. Cette propriété est statique dans la mesure où elle est propre à la classe ou la fonction que vous créez. Par exemple, si vous créez une classe personnalisée, la valeur de la propriété prototype est partagée par toutes les occurrences de la classe et est accessible uniquement en tant que propriété de classe. Les occurrences de votre classe personnalisée ne permettent pas d'accéder directement à la propriété prototype, mais peuvent y accéder par l'intermédiaire de la propriété __proto__. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant crée une classe appelée Shape, ainsi qu'une sous-classe de Shape appelée Circle. Circle.prototype.__proto__ contient une référence à la superclasse de la classe Shape. trace(Circle.prototype.__proto__ == Shape.prototype); // Output: true

__proto__ (Object.__proto__, propriété) GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 511 Classes ActionScript

Lorsqu'une occurrence du symbole de clip spécifié est créée à l'aide de MovieClip.attachMovie() ou de

MovieClip.duplicateMovieClip(), elle est enregistrée dans la classe spécifiée par theClass et non dans la classe MovieClip. Si la valeur de theClass est null, cette méthode supprime toutes les définitions de classe ActionScript associées au symbole de clip ou à l'identifiant de classe spécifié. Pour les symboles de clip, toutes les occurrences existantes du clip restent inchangées ; en revanche, les nouvelles occurrences du symbole sont associées à la classe MovieClip par défaut. Si un symbole est déjà enregistré dans une classe, cette méthode la remplace par le nouvel enregistrement. Lorsqu'une occurrence de clip est placée par le scénario ou créée via attachMovie() ou duplicateMovieClip(), ActionScript invoque le constructeur de la classe appropriée en utilisant le mot-clé this pointant vers l'objet. La fonction constructor est appelée sans paramètre. Si vous utilisez cette méthode pour enregistrer un clip avec une classe ActionScript autre que MovieClip, le symbole du clip n'hérite pas des méthodes, propriétés et événements de la classe MovieClip intégrée sauf si vous incluez la classe MovieClip dans le chaînage de prototype de la nouvelle classe. Le code suivant crée une nouvelle classe ActionScript appelée theClass héritant des propriétés de la classe MovieClip : theClass.prototype = new MovieClip();

Flash Lite 2.0 Paramètres name : String - Chaîne ; identifiant de liaison du symbole de clip ou identifiant de chaîne de la classe ActionScript. theClass : Function - Référence à la fonction constructor de la classe ActionScript ou null pour annuler l'enregistrement du symbole. • Si vous vous contentez de surveiller la propriété, renvoyez le paramètre newVal. • Si vous modifiez la valeur de la propriété, renvoyez votre propre valeur. • Si vous souhaitez empêcher toute modification de la propriété, renvoyez le paramètre oldVal. Si la méthode callback que vous définissez n'a pas d'instruction return, la propriété de l'objet observé prend la valeur undefined. Un point d'observation peut filtrer (ou annuler) l'affectation de la valeur, en renvoyant un paramètre newval (ou oldval) modifié. Si vous supprimez une propriété pour laquelle un point d'observation a été défini, ce dernier ne disparaît pas. Si vous recréez la propriété ultérieurement, le point d'observation est toujours en vigueur. Pour supprimer un point d'observation, utilisez la méthode Object.unwatch. Un seul point d'observation peut être enregistré sur une propriété. Les appels suivants de Object.watch() sur la même propriété remplacent le point d'observation d'origine. La méthode Object.watch() se comporte de la même façon que la fonction Object.watch() à partir de JavaScript 1.2. La principale différence est liée au paramètre userData, qui est un ajout de Flash à Object.watch() que Netscape Navigator ne prend pas en charge. Vous pouvez transmettre le paramètre userData au gestionnaire d'événements et l'utiliser dans celui-ci.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 518

Classes ActionScript

La méthode Object.watch() ne peut pas observer les propriétés de lecture/définition. Les propriétés de lecture/définition fonctionnent par l'intermédiaire d'une évaluation « paresseuse » : la valeur de la propriété est déterminée lors de l'interrogation de la propriété. L'évaluation « paresseuse » est souvent efficace car la propriété n'est pas constamment mise à jour ; elle est évaluée en cas de besoin. Cependant, Object.watch() doit évaluer une propriété afin de déterminer s'il convient d'appeler la fonction callback. Pour pouvoir travailler avec une propriété de lecture/définition, Object.watch() doit évaluer la propriété en permanence, ce qui n'est pas efficace.

En général, les propriétés ActionScript prédéfinies, telles que _x, _y, _width et _height, sont des propriétés de lecture/définition que Object.watch() ne peut pas observer. Disponibilité Flash Lite 2.0 Paramètres name:String - Chaîne ; nom de la propriété d'objet à observer. callback:Function - Fonction à appeler lorsque la propriété observée change. Ce paramètre est un objet de fonction et non pas un nom de fonction exprimé en tant que chaîne. La forme de callback est callback(prop, oldVal, newVal, userData). userData:Object [facultatif] - Ensemble arbitraire de données ActionScript transmis à la méthode callback. Si le paramètre userData est omis, undefined est transmis à la méthode callback. Valeur renvoyée Boolean - Valeur booléenne : true si le point d'observation est créé ; false sinon. Exemple L'exemple suivant utilise watch() pour vérifier si la propriété speed excède la limite de vitesse :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 519

Classes ActionScript

Les propriétés x, y, width et height de la classe Rectangle sont indépendantes les unes des autres. Le fait de modifier l'une de ces propriétés n'a aucun effet sur les autres. Cependant, les propriétés right et bottom sont liées de façon intégrale à ces quatre propriétés. Ainsi, si vous changez la valeur right, vous modifiez également la valeur width, et si vous modifiez la valeur bottom, vous modifiez la valeur height, etc. De plus, la propriété right ou x doit être établie avant de définir la propriété width ou right.

Disponibilité Flash Lite 3.1 Résumé des propriétés Modificateurs égal à cet objet Rectangle.

inflate(dx:Number, dy:Number) : Void

Agrandit la taille de l'objet Rectangle en fonction des montants spécifiés.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 541 Classes ActionScript

La valeur de la propriété top est égale à la valeur de la propriété y.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 545

Classes ActionScript

La propriété x est égale à la propriété left.

Disponibilité Flash Lite 3.1 Exemple L'exemple suivant crée un objet Rectangle vide et définit sa propriété x sur 10. Remarquez que rect.left est La propriété y est égale à la propriété top.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 549

Classes ActionScript

La situation suivante peut parfois se produire : Vous chargez un fichier SWF enfant à partir d'un domaine différent et souhaitez lui permettre de créer un script sur le fichier SWF parent, mais vous ne connaissez pas le domaine final à partir duquel sera issu le fichier SWF enfant. Cela peut se produire, par exemple, lorsque vous utilisez des redirections d'équilibrage de charge ou des serveurs tiers. Dans ce cas, vous pouvez utiliser la propriété MovieClip._urlcomme argument de cette méthode. Par exemple, si vous chargez un fichier SWF dans my_mc, vous pouvez appeler System.security.allowDomain(my_mc._url). Si vous procédez ainsi, veuillez patienter jusqu'à la fin du chargement du fichier SWF dans my_mc car la propriété _url ne dispose pas de sa valeur correcte et finale tant que le fichier n'est pas entièrement chargé. La meilleure façon de déterminer la fin du chargement d'un fichier SWF enfant consiste à utiliser MovieClipLoader.onLoadComplete.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 551

Classes ActionScript

La situation opposée peut également se produire ; en effet, vous pouvez créer un fichier SWF enfant sur lequel son fichier parent pourra créer un script, mais qui ignore le domaine de celui-ci. Dans ce cas, appelez

System.security.allowDomain(_parent._url) à partir du fichier SWF enfant. Dans ce cas, il n'est pas nécessaire d'attendre la fin du chargement du fichier SWF parent ; le parent sera déjà chargé lorsque celui de l'enfant commencera. Disponibilité Flash Lite 2.0 Paramètres domain1:String - Une ou plusieurs chaînes qui identifient les domaines autorisés à accéder aux données et variables du fichier SWF contenant l'appel System.Security.allowDomain(). Les domaines peuvent être formatés de différentes façons :

MovieA. Si MovieA ne contenait pas cet appel, la fonction de sécurité de Flash empêcherait MovieB d'accéder aux objets et aux variables de MovieA.

Voir aussi onLoadComplete (écouteur d'événement MovieClipLoader.onLoadComplete), _parent (propriété MovieClip._parent), _url (propriété MovieClip._url), allowInsecureDomain (méthode security.allowInsecureDomain)

Adobe déconseille l'emploi de cette méthode pour remplacer le comportement par défaut, dans la mesure où cette opération entraîne des failles de sécurité HTTPS. Cependant, elle reste utile dans certains cas, par exemple, si vous devez autoriser l'accès aux fichiers HTTPS publiés pour Flash Player 7 ou version ultérieure à partir de fichiers HTTP publiés pour Flash Player 6.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 552

Classes ActionScript

System.security.allowDomain(), qui ne doit pas nécessairement être appelé en utilisant le domaine du fichier

SWF en tant qu'argument. Ceci est parfois requis avec System.security.allowInsecureDomain(), car, par défaut, un fichier SWF figurant dans http://foo.com ne peut pas exécuter de script sur un fichier SWF enregistré dans https://foo.com, bien que ces deux domaines soient identiques. Disponibilité Flash Lite 2.0 Paramètres domain:String - Nom de domaine exact, tel que www.myDomainName.com ou store.myDomainName.com. Exemple Dans l'exemple suivant, vous hébergez un test de mathématique sur un domaine sécurisé, de façon à ce que seuls les étudiants enregistrés puissent y accéder. Vous avez également développé un ensemble de fichiers SWF, pour illustrer certains concepts, que vous avez placés dans un domaine non sécurisé. Vous souhaitez que les étudiants accèdent au test à partir du fichier SWF qui contient les informations relatives à un concept. // This SWF file is at https://myEducationSite.somewhere.com/mathTest.swf // Concept files are at http://myEducationSite.somewhere.com System.security.allowInsecureDomain("myEducationSite.somewhere.com"); Grâce à l'ajout de System.security.loadPolicyFile(), Flash Player 7.0.19.0 peut charger les fichiers de régulation à partir d'emplacements aléatoires, comme indiqué dans l'exemple suivant : System.security.loadPolicyFile("http://foo.com/sub/dir/pf.xml");

De cette manière, Flash Player peut récupérer un fichier de régulation à l'URL spécifiée. Les permissions accordées par l'intermédiaire de ce fichier s'appliquent à l'ensemble du contenu, au même niveau ou à un niveau inférieur dans la hiérarchie virtuelle des répertoires du serveur. Le code suivant reprend l'exemple précédent :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 553

Classes ActionScript

La syntaxe des fichiers de régulation transmis par un serveur XMLSocket est identique à celle des autres fichiers de régulation, à l'exception près que ces fichiers doivent également spécifier les ports auxquels ils permettent d'accéder.

Un fichier de régulation transmis via un port dont le numéro est inférieur à 1024 peut autoriser l'accès à tous les ports. Un fichier de régulation transmis via le port 1024 ou supérieur ne peut définir l'accès qu'au port 1024 et aux ports supérieurs. Les ports accessibles sont spécifiés par l'attribut "to-ports" dans la balise <allow-access-from>. Il est possible d'utiliser des numéros de ports, des plages de ports et des caractères génériques. L'exemple suivant illustre un fichier de régulation XMLSocket : <cross-domain-policy> <allow-access-from domain="*" to-ports="507" /> <allow-access-from domain="*.foo.com" to-ports="507,516" /> à la fois. L'objet Selection n'est valide que si le périphérique prend en charge la saisie de texte en ligne. Dans le cas contraire, et s'il repose sur un processeur frontal (FEP - front-end processor) pour saisir du texte, tous les appels à l'objet Selection sont ignorés. Disponibilité Flash Lite 2.0 Résumé des propriétés Propriétés héritées de la classe Object constructor (propriété Object.constructor), __proto__ (Object.__proto__, propriété), prototype (propriété Object.prototype), __resolve (Object.__resolve, propriété) • Si un objet bouton ou le clip d'un bouton a le focus, la méthode getFocus() renvoie le chemin cible de l'objet bouton ou du clip du bouton.

• Si ni un objet TextField, ni un bouton, un une occurrence de composant, ni un clip de bouton n'a le focus, la méthode getFocus() renvoie la valeur null.

Disponibilité Flash Lite 2.0 Le code ActionScript suivant crée de façon dynamique plusieurs occurrences de champ texte. Lorsque vous sélectionnez un champ texte, les informations correspondantes s'affichent dans le panneau de sortie. Lorsque vous cliquez sur l'occurrence remove_btn, l'écouteur est supprimé et aucune information ne s'affiche dans le panneau de sortie.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 559

Classes ActionScript

Paramètres newFocus:Object - Objet tel qu'une occurrence de bouton, de clip ou de champ texte, ou chaîne spécifiant le chemin de l'une de ces occurrences.

Valeur renvoyée Boolean - Valeur booléenne : true si la tentative de focus aboutit, false si elle échoue. Exemple Dans l'exemple suivant, le champ texte donne le focus au champ texte username_txt lorsque ce dernier s'affiche dans une fenêtre de navigateur. Si l'utilisateur ne remplit pas l'un des champs texte requis (username_txt et password_txt), le curseur se place automatiquement dans le champ texte présentant des données manquantes. Par exemple, si l'utilisateur ne tape rien dans le champ texte username_txt et clique sur le bouton d'envoi, un message d'erreur s'affiche et le curseur se place dans le champ texte username_txt.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 560

Classes ActionScript

La méthode setSelection() peut être appelée après Selection.setFocus() ou à partir d'un gestionnaire d'événements onSetFocus(), les sélections ne sont visibles qu'après l'appel de la commande fscommand activateTextField.

Disponibilité Flash Lite 2.0

Remarque : Si la méthode Selection.setSelection() est appelée, le texte n'est pas affiché à l'écran tant que le champ texte n'est pas activé (suite à un appel à la commande fscommand activateTextField). this.createTextField("myText_txt", 99, 10, 10, 200, 30); myText_txt.type = "input"; myText_txt.text = "this is my text"; myText_txt.onSetFocus = function(){

Selection.setSelection(0,myText_txt.text.length); fscommand("activateTextField"); }

Dans Flash Lite, un fichier SWF est considéré comme étant de version différente s'il a été modifié par rapport à la version d'origine, même s'il porte le même nom. Ceci diffère de Flash Player, où un fichier SWF est considéré comme identique si son URL et son nom sont identiques, même si le fichier SWF a été modifié. Dans Flash Lite, deux versions différentes d'un fichier SWF peuvent accéder mutuellement à leurs objets partagés.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 562

Classes ActionScript

Pour assurer la cohérence de la plate-forme Flash, les éléments et conventions d'appellation ActionScript sont repris par le lecteur Flash Lite.

Les exemples suivants portent sur le potentiel d'utilisation des objets partagés :

• Vous pouvez utiliser une application Flash en tant qu'interface utilisateur pour un service permettant à l'utilisateur de consulter les listes de voitures d'occasion. L'application se connecte à un serveur qui donne la liste des voitures en fonctions des critères de recherche et des préférences de l'utilisateur. L'application Flash peut enregistrer la dernière recherche de l'utilisateur et commencer à renseigner les formulaires lors des lectures suivantes du fichier

SWF. Pour ce faire, créez une occurrence de SharedObject pour stocker les paramètres de recherche à chaque fois que l'utilisateur effectue une nouvelle recherche. Lorsque le fichier SWF se ferme, le lecteur enregistre les données dans l'objet partagé, sur le périphérique. Lorsque le fichier SWF est lu de nouveau, le lecteur Flash Lite charge l'objet partagé et commence de renseigner le formulaire de recherche en fonction des derniers critères saisis par l'utilisateur.

• Vous pouvez utiliser une application Flash en tant qu'interface utilisateur pour un service permettant aux utilisateurs de consulter des critiques musicales. L'application permet aux utilisateurs de stocker des informations sur leurs albums préférés. Ces informations peuvent être stockées sur le serveur distant, mais ceci risque de poser des problèmes si l'application est incapable de se connecter au service. En outre, l'extraction des données à partir d'un service distant peut être lente et risque de détériorer les conditions d'utilisation. Les objets partagés permettent

à l'application de stocker les informations relatives aux albums sur le périphérique et de les charger rapidement en cas de besoin. Remarque : Dans la mesure où l'espace est limité sur les périphériques mobiles, les données ne sont pas totalement rémanentes. Dans certains cas, la plate-forme peut supprimer les données les plus anciennes. Pour créer un objet partagé localement, utilisez la syntaxe suivante : var so:shared object = shared object.getLocal("mySharedObject");

La lecture et l'écriture de données sur un combiné peuvent être longues. Pour vous assurer que les données sont disponibles immédiatement lorsque l'application les demande au périphérique, Flash Lite 2.0 nécessite la mise en place d'un objet écouteur. Le lecteur appelle cet écouteur lorsque le périphérique a chargé les données de l'objet partagé. Les méthodes qui accèdent à l'occurrence SharedObject renvoyée par l'appel à getLocal() doivent attendre l'appel de l'écouteur avant de tenter une autre opération.

Disponibilité Flash Lite 2.0 Le montant total de stockage des objets partagés de Flash Lite par fichier SWF est conditionné par le périphérique. Vous pouvez déterminer cette taille avec la méthode SharedObject.getMaxSize(). Remarque : Les objets partagés distants ne sont pas pris en charge par Flash Lite 2.0. Voir aussi flush (méthode SharedObject.flush), onStatus (gestionnaire SharedObject.onStatus)

Résumé des propriétés

Modificateurs Paramètres objectName:String - Chaîne indiquant le nom de l'objet partagé. notifyFunction:Function - Nom de la fonction que le lecteur appelle pour notifier l'application que la méthode getLocal() a été exécutée et que les données ont terminé leur chargement.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 565

Classes ActionScript

Pour créer des valeurs private pour un objet partagé (des valeurs qui sont disponibles uniquement pour l'instance cliente tandis que l'objet est en cours d'utilisation et qui ne sont pas stockées avec l'objet lorsqu'il est fermé), créez des propriétés qui ne portent pas le nom data pour les stocker, comme indiqué dans l'exemple ci-après : var my_so:SharedObject = SharedObject.getLocal("superfoo"); my_so.favoriteColor = "blue"; my_so.favoriteNightClub = "The Bluenote Tavern"; my_so.favoriteSong = "My World is Blue"; for (var prop in my_so) { trace(prop+": "+my_so[prop]);

L'objet partagé contient les données suivantes : favoriteSong: My World is Blue favoriteNightClub: The Bluenote Tavern favoriteColor: blue data: [object Object]

Paramètres minDiskSpace:Number - Entier spécifiant le nombre d'octets à affecter à cet objet. La valeur par défaut est 0. Valeur renvoyée Object - Valeur booléenne (true ou false) ou valeur de chaîne (pending). La méthode flush() renvoie pending pour la plupart des requêtes, avec les exceptions suivantes :

• S'il n'est pas nécessaire d'écrire des données (si elles ont déjà été écrites), flush() renvoie true.

• Si le paramètre minimumDiskSpace dépasse l'espace maximum disponible pour un fichier SWF ou l'espace restant sur un fichier SWF, ou si une erreur s'est produite pendant le traitement de la requête, flush() renvoie false. Si la méthode flush() renvoie pending, le lecteur Flash Lite affiche une boîte de dialogue demandant à l'utilisateur de libérer de l'espace afin d'accroître l'espace disque disponible pour les objets partagés. Pour disposer d'un espace permettant à l'objet partagé de se développer à l'avenir, ce qui évite le renvoi de valeurs pending , transmettez une valeur pour minimumDiskSpace. Lorsque le lecteur Flash Lite essaie d'écrire un fichier, il recherche le nombre d'octets transmis à minimumDiskSpace au lieu de rechercher l'espace nécessaire à l'enregistrement de l'objet partagé à sa taille actuelle.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 568

Classes ActionScript

Dans la mesure où les données peuvent ne pas être immédiatement disponibles en lecture sur le périphérique, l'application doit créer et enregistrer un écouteur pour l'objet partagé identifié par name. Consultez la description de la méthode addListener() pour plus de détails.

Disponibilité Flash Lite 2.0 Paramètres name:String - Chaîne indiquant le nom de l'objet. Le nom peut comporter des barres obliques (/) ; par exemple, work/addresses est un nom admissible. Les espaces ne sont pas autorisés dans un nom d'objet partagé, ainsi que les caractères suivants : ~ % & \ ; : " ' , < > ? # Si l'objet écouteur partagé n'a pas encore été appelé, getSize() renvoie 0. Consultez la méthode addListener() pour plus de détails sur l'utilisation de l'écouteur. Disponibilité Flash Lite 2.0 Valeur renvoyée Number - Valeur numérique spécifiant la taille de l'objet partagé, en octets. En plus de ce gestionnaire, Flash Lite fournit également une super fonction appelée System.onStatus. Si onStatus est invoqué pour un objet particulier et qu'aucune fonction n'est affectée pour y répondre, Flash traite une fonction affectée à System.onStatus si elle existe. Les événements suivants vous informent lorsque certaines activités SharedObject ont lieu :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 571

Classes ActionScript Sound spécifié défini avec le dernier appel Sound.setTransform(). getVolume() : Number

Renvoie le niveau de volume sonore en tant qu'entier compris entre 0 et 100, où 0 correspond à un son coupé et 100 au volume maximum.

Object:Object) : Void pour un objet Sound.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 574

Classes ActionScript

Paramètres id:String - Identifiant d'un son exporté dans la bibliothèque. L'identifiant est situé dans la boîte de dialogue Propriétés de liaison.

Exemple L'exemple suivant associe le son logoff_id à my_sound. L'un des sons de la bibliothèque a l'identifiant de liaison logoff_id. var my_sound:Sound = new Sound(); my_sound.attachSound("logoff_id"); my_sound.start();

duration (propriété Sound.duration) public duration : Number [read-only]

Remarque : Flash Lite 2.0 prend uniquement en charge cette méthode pour le son Flash natif. Les formats audio propres à un périphérique hôte ne sont pas pris en charge. Disponibilité Flash Lite 2.0 Valeur renvoyée écrits et qui lisent les propriétés ID3 1.0. Balise ID3 2.0

Propriété ID3 1.0 correspondante

Les sons en flux continu sont lus lors de leur téléchargement. La lecture commence lorsqu'un nombre suffisant de données a été reçu pour lancer le décompresseur. Tous les fichiers MP3 (événement ou flux continu) chargés avec cette méthode sont enregistrés dans la mémoire cache du navigateur du système de l'utilisateur. Remarque : Pour Flash Lite 2.0, vous pouvez ignorer le paramètre isStreaming dans la mesure où Flash Lite 2.0 traite chaque son comme un événement son.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 584

Classes ActionScript

Paramètres valeur:Number - Entier spécifiant la balance gauche-droite d'un son. Les valeurs valides vont de -100 à 100, où -100 utilise uniquement le canal gauche, 100 utilise uniquement le canal droit et 0 équilibre le son entre les deux canaux.

Exemple Consultez la section Sound.getBytesLoaded() pour obtenir un exemple d'utilisation de cette méthode. Voir aussi attachSound (méthode Sound.attachSound), getPan (méthode Sound.getPan), setTransform (méthode Sound.setTransform)setVolume (méthode Sound.setVolume), start (méthode Sound.start) Le paramètre soundTransformObject est un objet que vous créez à l'aide de la méthode de constructeur de la classe Object générique avec des paramètres spécifiant la répartition du son entre les canaux gauche et droit (haut-parleurs).

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 588

Classes ActionScript

Les sons nécessitent une grande quantité d'espace disque et de mémoire. Les sons stéréo utilisant deux fois plus de données que les sons mono, il est généralement préférable d'utiliser des sons monos 6 bits de 22 KHz. Vous pouvez utiliser setTransform() pour lire des sons monos comme des sons stéréo, lire des sons stéréo comme des sons mono et ajouter des effets intéressants aux sons.

Remarque : Flash Lite 2.0 prend uniquement en charge cette méthode pour le son Flash natif. Les formats audio propres à un périphérique hôte ne sont pas pris en charge. Les propriétés du paramètre soundTransformObject sont les suivantes : 11 - Pourcentage indiquant la quantité d'entrée gauche à lire dans le haut-parleur gauche (0-100). 1r - Pourcentage indiquant la quantité d'entrée droite à lire dans le haut-parleur gauche (0-100). rr - Pourcentage indiquant la quantité d'entrée droite à lire dans le haut-parleur droit (0-100). rl - Pourcentage indiquant la quantité d'entrée gauche à lire dans le haut-parleur droit (0-100).

Le résultat net des paramètres est représenté par la formule suivante : leftOutput = left_input ~ ll + right_input ~ lr rightOutput = right_input ~ rr + left_input ~ rl

Les valeurs de left_input ou right_input sont déterminées par le type (stéréo ou mono) du son de votre fichier SWF.

Les sons stéréo séparent l'entrée du son en parties égales entre les haut-parleurs gauche et droit et présentent les paramètres de transformation suivants par défaut : ll lr rr rl

= à votre fichier FLA ou AS. Pour que cet exemple fonctionne, vous devez disposer d'un fichier MP3 appelé song1.mp3 et situé dans le même répertoire que votre fichier FLA ou AS.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 591

Classes ActionScript Paramètres listener:Object - Objet chargé de détecter la notification de rappel provenant du gestionnaire d'événements Stage.onResize. Flash Player ou le navigateur, ce qui constitue la valeur par défaut.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 594

Classes ActionScript

Remarque : Le réglage par défaut est showAll, sauf en mode Tester l'animation, où le réglage par défaut est noScale

Flash Lite 2.0 Tous les index de chaîne étant basés sur zéro, l'index du dernier caractère pour une chaîne x est x.length - 1. Vous pouvez appeler l'une des méthodes de la classe String à l'aide de la méthode constructeur new String ou d'une valeur de littéral de chaîne. Si vous spécifiez un littéral de chaîne, l'interprète d'ActionScript le convertit automatiquement en un objet String temporaire, appelle la méthode, puis supprime l'objet String temporaire. Vous pouvez aussi utiliser la propriété String.length avec une chaîne littérale. Ne confondez pas un littéral de chaîne avec un objet String. Dans l'exemple suivant, la première ligne de code crée le littéral de chaîne first_string, et la deuxième ligne de code crée l'objet String second_string : var first_string:String = "foo" var second_string:String = new String("foo")

Utilisez des littéraux de chaîne sauf si vous avez spécifiquement besoin d'utiliser un objet String.

Disponibilité Flash Lite 2.0 Résumé des propriétés Modificateurs [limit:Number]) : endroits où le paramètre delimiter spécifié apparaît et Array renvoie les sous-chaînes dans un tableau. substr(start:Number, length:Number) : String

Renvoie les caractères dans une chaîne à partir de l'index spécifié dans le paramètre start par le nombre de caractères spécifié dans le paramètre length.

substring(start:Numbe Renvoie une chaîne comprenant les caractères entre les points r, end:Number) : spécifiés par les paramètres start et end.

String toLowerCase() : String

Renvoie une copie de l'objet String avec tous les caractères majuscules convertis en minuscules.

Cette méthode est similaire à String.charCodeAt() sauf que la valeur renvoyée est un caractère, et non pas un code de caractère d'entier 16 bits.

Disponibilité Flash Lite 2.0 Paramètres index:Number - Entier spécifiant la position d'un caractère dans la chaîne. Le premier caractère est indiqué par 0, et le dernier par my_str.length-1. Valeur renvoyée String - Caractère correspondant à l'index spécifié. Ou un objet String vide si l'index spécifié n'est pas compris dans la plage des index de cet objet String. Exemple Dans l'exemple suivant, cette méthode est appelée pour la première lettre de la chaîne « Chris » : var my_str:String = "Chris"; var firstChar_str:String = my_str.charAt(0);

trace(firstChar_str); // output: C Voir aussi charCodeAt (méthode String.charCodeAt)

16 bits, pas un caractère. Disponibilité Flash Lite 2.0 Paramètres index:Number - Entier spécifiant la position d'un caractère dans la chaîne. Le premier caractère est indiqué par 0 et le dernier, par my_str.length - 1. Valeur renvoyée Number - Entier qui représente le caractère spécifié par index. Exemple Dans l'exemple suivant, cette méthode est appelée pour la première lettre de la chaîne « Chris » :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 601

Classes ActionScript

L'exemple suivant crée la variable my_str, lui affecte une valeur String, puis appelle la méthode slice() à l'aide de différentes valeurs pour les paramètres start et end. Tout appel à slice() est recensé dans une instruction trace() qui affiche son résultat dans le panneau Sortie.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 605

Classes ActionScript

Paramètres delimiter:String - Chaîne ; caractère ou chaîne à partir desquels my_str est divisé. limit:Number [facultatif] - Nombre d'éléments à placer dans le tableau.

Valeur renvoyée Si ce paramètre est omis, String.length est utilisé. Si ce paramètre correspond à une valeur négative, 0 est utilisé. Valeur renvoyée String - Sous-chaîne de la chaîne spécifiée. Exemple L'exemple suivant indique comment utiliser substring() : var my_str:String = "Hello world"; var mySubstring:String = my_str.substring(6,11); trace(mySubstring); // output: world System.onStatus(), qui sert de gestionnaire de messages d'erreur secondaire. Si une occurrence de la classe

SharedObject transmet un objet d'information avec une propriété de niveau « error », mais si vous n'avez pas défini une fonction onStatus() pour cette occurrence particulière, Flash utilise alors la fonction que vous définissez à la place pour System.onStatus().

Disponibilité Flash Lite 2.0 Paramètres infoObject:Object - Paramètre défini selon le message de statut.

Player le reconnaisse comme Unicode. Pour coder des fichiers externes comme Unicode, enregistrez les fichiers dans une application qui prend en charge l'Unicode, tel que Notepad sous Windows 2000.

Si vous chargez des fichiers externes qui ne sont pas codés en Unicode, vous devez définir System.useCodepage sur true. Ajoutez le code suivant sur la première ligne de code dans la première image du fichier SWF qui charge les données : System.useCodepage = true;

Lorsque ce code est présent, Flash Lite Player interprète du texte externe à l'aide de la page de code classique du système d'exploitation exécutant Flash Lite Player. Ce code est généralement CP1252 pour un système d'exploitation Windows anglais et Shift-JIS pour un système d'exploitation japonais. Si vous définissez System.useCodepage sur true, Flash

Player 6 et les versions ultérieures traitent le texte comme Flash Player 5. (Flash Player 5 traitait l'ensemble du texte comme s'il se trouvait dans la page de code classique du système d'exploitation exécutant le lecteur.) Si vous définissez System.useCodepage sur true, souvenez-vous que la page de code classique du système d'exploitation exécutant le lecteur doit inclure les caractères utilisés dans votre fichier texte externe afin d'afficher le texte. Par exemple, si vous chargez un fichier texte externe contenant des caractères chinois, ceux-ci ne peuvent s'afficher sur un système utilisant la page de code CP1252 car celle-ci ne comprend pas les caractères chinois. Pour que les utilisateurs de toutes les plates-formes puissent afficher les fichiers texte externes utilisés dans vos fichiers SWF, vous devez coder tous les fichiers texte externes en Unicode et conserver la propriété System.useCodepage définie sur false par défaut. Ainsi, Flash Player 6 et les versions ultérieures interprètent le texte comme de l'Unicode. Disponibilité Flash Lite 2.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 613

Pour créer un champ texte de façon dynamique, appelez MovieClip.createTextField(). Les méthodes de la classe TextField permettent de définir, sélectionner et manipuler du texte dans un champ texte dynamique ou de saisie que vous créez en cours de programmation ou à l'exécution. Disponibilité Flash Lite 2.0 Voir aussi :Number, paramètres beginIndex et endIndex dans le champ texte endIndex:Number, spécifié, par le contenu du paramètre newText. newText:String) : Void

setNewTextFormat(tf:T extFormat) : Void

Remarque : Cette propriété n'est pas prise en charge pour l'arabe, l'hébreu et le thaïlandais.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 618

Classes ActionScript

Si autoSize est défini sur "none" (valeur par défaut) ou false, il n'y a aucun redimensionnement.

Si autoSize est défini sur "left" ou true, le texte est alors traité comme du texte cadré à gauche, ce qui signifie que le côté gauche du texte reste fixe et tout redimensionnement d'un champ texte sur une seule ligne se fera à droite. Si le texte contient un saut de ligne (par exemple "\n" ou "\r"), le bas est alors également redimensionné en fonction de la ligne suivante du texte. Si wordWrap est également défini sur true, seul le bas du champ texte est redimensionné et le côté droit reste fixe. Si autoSize est défini sur "right", le texte est traité comme du texte cadré à droite, ce qui signifie que le côté droit du texte reste fixe et tout redimensionnement d'un champ texte sur une seule ligne se fera à gauche. Si le texte contient un saut de ligne (par exemple "\n" ou "\r"), le bas est alors également redimensionné en fonction de la ligne suivante du texte. Si wordWrap est également défini sur true, seul le bas du champ texte est redimensionné et le côté gauche reste fixe. Si autoSize est défini sur "center", le texte est traité comme du texte centré, ce qui signifie que tout redimensionnement d'un champ texte sur une seule ligne est uniformément réparti sur les côtés droit et gauche. Si le texte contient un saut de ligne (par exemple "\n" ou "\r"), le bas est alors également redimensionné en fonction de la ligne suivante du texte. Si wordWrap est également défini sur true, seul le bas du champ texte est redimensionné et les côtés gauche et droit restent fixes.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 619

Classes ActionScript

Si vous définissez cette valeur sur true, vous devez utiliser les commandes HTML classiques telles que <BR> et <P> pour placer des sauts de ligne dans le champ texte.

Si la propriété .html du champ texte est false, cette propriété est ignorée. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant crée deux champs texte pendant l'exécution, appelés first_txt et second_txt. L'espace blanc est supprimé du deuxième champ texte. Ajoutez le code ActionScript suivant à votre fichier AS ou FLA : var my_str:String = "Hello\tWorld\nHow are you?\t\t\tEnd"; this.createTextField("first_txt", this.getNextHighestDepth(), 10, 10, 160, 120); first_txt.html = true; first_txt.multiline = true; first_txt.wordWrap = true; first_txt.condenseWhite = false; first_txt.border = true; first_txt.htmlText = my_str; this.createTextField("second_txt", this.getNextHighestDepth(), 180, 10, 160, 120); second_txt.html = true; second_txt.multiline = true; second_txt.wordWrap = true; second_txt.condenseWhite = true; second_txt.border = true; second_txt.htmlText = my_str; Si vous définissez embedFonts sur true pour un champ texte, vous devez spécifier la police du texte par l'intermédiaire de la propriété font d'un objet TextFormat appliqué au champ texte. Si la police spécifiée n'existe pas dans la bibliothèque (avec l'identifiant de liaison correspondant), le texte ne s'affiche pas. Remarque : Cette propriété n'est pas prise en charge pour l'arabe, l'hébreu et le thaïlandais.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 623

Classes ActionScript

à endIndex. Seules les propriétés communes à l'ensemble du texte de la plage spécifiée sont définies dans l'objet

TextFormat obtenu. Toute propriété qui est mixte (c.-à-d. a différentes valeurs à différents endroits de la plage) a sa valeur définie sur null. Disponibilité Flash Lite 2.0 Paramètres beginIndex:Number [facultatif] - Entier qui spécifie un caractère dans une chaîne. Si vous ne spécifiez pas beginIndex et endIndex, l'objet TextFormat renvoyé est pour l'ensemble du TextField. endIndex:Number [facultatif] - Entier qui spécifie la position finale d'une plage de texte. Si vous spécifiez beginIndex mais pas endIndex, l'objet TextFormat est pour le seul caractère spécifié par beginIndex. Valeur renvoyée TextFormat - Un objet.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 625

Le gestionnaire onChanged est appelé uniquement lorsque la modification résulte d'une interaction de l'utilisateur ; par exemple, lorsque l'utilisateur tape quelque chose sur le clavier, modifie quelque chose dans le champ texte à l'aide de la souris, ou sélectionne un élément du menu. Des modifications par programme dans le champ texte ne déclenchent pas l'événement onChanged, étant donné que le code reconnaît les modifications apportées au champ texte. Disponibilité Le gestionnaire d'événements TextField.onScroller est généralement utilisé pour implémenter des barres de défilement. Les barres de défilement comportent généralement un curseur de défilement ou un autre indicateur qui spécifie la position de défilement horizontal ou vertical actuel dans un champ texte. Les champs texte peuvent être parcourus à l'aide de la souris et du clavier, ce qui entraîne une modification de la position de défilement. Le code de la barre de défilement doit être notifié si la position de défilement change suite à une telle interaction de utilisateur. C'est ce pourquoi est utilisé TextField.onScroller.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 632

Classes ActionScript

onScroller est appelé lorsque la position de défilement a changé suite à l'interaction des utilisateurs avec le champ

texte ou à des modifications programmatiques. Le gestionnaire onChanged se déclenche uniquement si une interaction de l'utilisateur entraîne une modification. Ces deux options sont nécessaires étant donné qu'une partie du code change souvent la position de défilement, tandis que le code de la barre de défilement n'est pas associé et ne sait pas que la position de défilement a été modifiée sans être notifiée.

Disponibilité Flash Lite 2.0 Paramètres scrolledField:TextField - Référence à l'objet TextField dont la position de défilement a changé. Exemple Vous pouvez utiliser _parent pour remonter de plusieurs niveaux dans l'arborescence de la liste d'affichage, comme dans l'exemple suivant : _parent._parent._alpha = 20;

Lorsque le mode mot de passe est activé, les commandes Couper et Copier et leurs raccourcis clavier ne fonctionnent pas. Ce mécanisme de sécurité empêche un utilisateur malhonnête d'utiliser les raccourcis pour découvrir le mot de passe d'un ordinateur sans surveillance. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant crée deux champs texte : username_txt et password_txt. Du texte est placé dans les deux champs texte ; toutefois, les propriétés de mot de passe password_txt sont définies sur true. Dès que l'utilisateur clique sur La propriété _quality peut être définie sur les valeurs suivantes :

• "LOW" - Qualité de rendu inférieure. Les images ne sont pas anti-aliasées et les bitmaps ne sont pas lissés.

• "MEDIUM" - Qualité de rendu moyenne. Les images sont anti-aliasées selon une grille de 2 x 2 pixels, mais les bitmaps ne sont pas lissés. Ce niveau de qualité convient aux animations qui ne contiennent pas de texte.

• "HIGH" - Qualité de rendu supérieure. Les images sont anti-aliasées en appliquant une grille de 4 x 4 pixels et les bitmaps sont lissés lorsque l'animation est statique. Il s'agit du paramètre de qualité de rendu par défaut de Flash.

• "BEST" - Très haute qualité de rendu. Les graphiques sont anti-aliasés selon une grille de 4 x 4 pixels et les bitmaps sont toujours lissés.

Remarque : Cette propriété n'est pas prise en charge pour l'arabe, l'hébreu et le thaïlandais.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 635

Classes ActionScript

L'exemple suivant crée un champ texte de saisie appelé my_txt. Lorsque l'utilisateur tape du texte dans le champ, les informations sur le nombre de caractères du champ texte s'affichent dans le panneau Sortie. Lorsque l'utilisateur tape du texte dans le champ, les informations sur le nombre de caractères du champ texte sont écrites dans le fichier journal.

Si l'utilisateur clique sur l'occurrence removeListener_btn, l'écouteur est supprimé et les informations ne sont plus affichées. Si l'utilisateur clique sur l'occurrence removeListener_btn, l'écouteur est supprimé et les informations ne sont plus consignées dans le fichier journal.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 636

Classes ActionScript

Remarque : Vous devez utiliser la méthode Selection.setFocus() pour donner le focus au champ avant d'appeler la méthode replaceSel().

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 637

Classes ActionScript

Vous devez utiliser des polices intégrées pour associer _rotation à un champ texte.

Remarque : Cette propriété n'est pas prise en charge pour l'arabe, l'hébreu et le thaïlandais. Disponibilité Flash Lite 2.0 Exemple Dans cet exemple, vous devez créer un champ texte dynamique appelé my_txt, puis utiliser le code ActionScript suivant pour incorporer des polices et faire pivoter le champ texte. La chaîne my font renvoie à un symbole de police dans la bibliothèque, avec l'identifiant de liaison my font. var my_fmt:TextFormat = new TextFormat(); my_fmt.font = "my font"; this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 120); my_txt.wordWrap = true; my_txt.embedFonts = true; my_txt.text = "Hello world"; my_txt.setTextFormat(my_fmt); my_txt._rotation = 45; à la plus grande police utilisée. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant définit la valeur maximale du champ texte à défilement my_txt. Créez deux boutons, scrollUp_btn et scrollDown_btn, pour faire défiler le champ texte Ajoutez le code ActionScript suivant à votre fichier ActionScript ou FLA. this.createTextField("scroll_txt", this.getNextHighestDepth(), 10, 10, 160, 20); this.createTextField("my_txt", this.getNextHighestDepth(), 10, 30, 320, 240); my_txt.multiline = true; my_txt.wordWrap = true; for (var i = 0; i<10; i++) { my_txt.text += "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy " à l'aide de la commande Copier. Remarque : Cette propriété n'est pas prise en charge pour l'arabe, l'hébreu et le thaïlandais. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant crée un champ texte sélectionnable qui se met constamment à jour en fonction de la date et de l'heure. this.createTextField("date_txt", this.getNextHighestDepth(), 10, 10, 100, 22); date_txt.autoSize = true; date_txt.selectable = true; Pour les paragraphes, le premier caractère du paragraphe est analysé pour identifier les paramètres de mise en forme du paragraphe entier. La marge gauche, la marge droite et le retrait sont des exemples de paramètres de mise en forme de paragraphes. La méthode setTextFormat() modifie la mise en forme de texte appliquée à chaque caractère, à une plage de caractères ou à l'ensemble du contenu d'un champ texte.

• Utilisation 1 :my_textField.setTextFormat(textFormat:TextFormat)

Applique les propriétés de textFormat à l'ensemble du texte dans le champ texte.

La propriété tabIndex doit être un entier positif. Les objets sont triés selon leurs propriétés tabIndex, par ordre croissant. Un objet ayant une valeur tabIndex de 1 précède un objet avec une valeur tabIndex de 2. Si deux objets ont la même valeur de tabIndex, celui qui précède l'autre dans l'ordre de tabulation est undefined.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 644

Classes ActionScript

L'ordre de tabulation personnalisé défini par la propriété tabIndex est flat. Cela signifie qu'on ne prête aucune attention aux relations hiérarchiques des objets contenus dans le fichier SWF. Tous les objets du fichier SWF dotés de propriétés tabIndex sont placés dans l'ordre de tabulation qui est déterminé par l'ordre des valeurs tabIndex. Si deux objets ont la même valeur tabIndex, celui qui apparaît en premier est undefined. Il est recommandé de ne pas affecter la même valeur tabIndex à plusieurs objets.

Disponibilité GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 656 Classes ActionScript

Si un paramètre width est spécifié, un retour à la ligne automatique est appliqué au texte spécifié. Ceci vous permet de déterminer la hauteur à laquelle un champ affiche l'ensemble du texte spécifié.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 658

Classes ActionScript

Les mesures ascent et descent indiquent, respectivement, la distance au-dessus et en dessous de la ligne de base pour une ligne de texte. La ligne de base de la première ligne de texte est positionnée au début du champ texte plus sa mesure ascent.

Les mesures width et height indiquent la largeur et la hauteur de la chaîne de texte. Les mesures textFieldHeight et textFieldWidth indiquent la hauteur et la largeur requises par un objet de champ texte pour afficher l'ensemble de la chaîne de texte. Les champs texte ont une marge de reliure de 2 pixels autour d'eux, si bien que la valeur de textFieldHeight est égale à celle de height + 4 ; de même, la valeur de textFieldWidth est toujours égale à celle de width + 4. Si vous créez un champ texte basé sur les dimensions du texte, utilisez textFieldHeight plutôt que height et textFieldWidth plutôt que width.

La figure suivante illustre ces mesures:

Lorsque vous configurez un objet TextFormat, définissez exactement tous les attributs tels qu'ils seront définis pour la création du champ texte, y compris le nom de police, la taille de police et l'interligne. La valeur par défaut pour l'interligne est 2.

Disponibilité Flash Lite 2.0 Paramètres text:String - Chaîne. width:Number [facultatif] - Nombre indiquant la largeur, en pixels, à laquelle le texte spécifié doit effectuer un retour à la ligne automatique. Valeur renvoyée Object - Objet doté des propriétés width, height, ascent, descent, textFieldHeight, textFieldWidth. Exemple Cet exemple crée un champ texte d'une seule ligne de taille tout juste suffisante pour afficher une chaîne de texte avec la mise en forme spécifiée. Objet Matrix de transformation contenant des valeurs qui influent sur la mise à l'échelle, la rotation et la translation du clip.

pixelBounds:Rectangle

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 667 Classes ActionScript

Object.isPropertyEnumerable) » à la page 507, « isPrototypeOf (méthode

Object.isPrototypeOf) » à la page 508, « registerClass (méthode Object.registerClass) » à la page 510, « toString (méthode Object.toString) » à la page 514« unwatch (méthode Object.unwatch) » à la page 515, « valueOf (méthode Object.valueOf) » à la page 516, « watch (méthode Object.watch) » à la page 517

colorTransform (propriété Transform.colorTransform) public colorTransform : ColorTransform

• Flash Player 7 permet de regrouper les données dans un fichier SWF ou de les diffuser en flux continu à l'aide de l'objet Video et en affectant soit un objet NetStream, soit un objet Camera en tant que source des informations vidéo. Cependant, le lecteur de Flash Lite 2.0 ne prend pas en charge les objets NetStream et Camera. Par contre, Flash Lite 2.0 utilise un nouveau symbole de bibliothèque appelé Video pour incorporer les données vidéo source et diffuser la vidéo en flux continu pour les périphériques mobiles. Dans la mesure où Flash Lite 2.0 ne prend pas en charge l'objet NetStream, utilisez les méthodes et les propriétés de la classe Video pour contrôler la lecture de la vidéo. Le lecteur de Flash Lite 3.0 prend en charge les objets NetStream et NetConnection et vous utilisez les méthodes et les propriétés de ces classes pour contrôler la lecture FLV. Flash Lite 3.0 prend également en charge une nouvelle propriété dans la classe Video, attachVideo, qui indique un flux vidéo à afficher dans l'objet Video sur la scène. Flash Lite 3.0 ne prend pas en charge l'objet Camera. En raison des limitations des périphériques mobiles (processeurs plus lents, restrictions de mémoire et formats de codage propriétaires), Flash Lite 2.0 ne permet pas de rendre les informations vidéo directement. Les formats de fichier pris en charge pour la vidéo dépendent du fabricant de périphérique mobile. Pour plus d'informations sur les formats vidéo pris en charge, consultez la documentation des plates-formes matérielles sur lesquelles vous prévoyez de déployer votre application. A l'opposé, Flash Lite 3.0 peut rendre les vidéos Flash directement. Flash Lite 2.0 ne prend pas en charge les fonctionnalités Flash Player 7 suivantes :

• Diffusion en flux continu des données vidéo à partir de Flash Media Server ;

• Enregistrement vidéo Flash Lite 3.0 ajoute la prise en charge des fonctionnalités Flash Player 7 suivantes : Vous n'êtes pas obligé d'utiliser cette méthode si le fichier FLV contient uniquement des données audio ; la partie audio des fichiers FLV est automatiquement lue lorsque la commande NetStream.play() est émise. Si vous souhaitez contrôler la partie audio associée à un fichier FLV, vous pouvez utiliser MovieClip.attachAudio() pour ajouter le son à un clip ; vous pouvez ensuite créer un objet Sound pour contrôler certains aspects du son. Pour plus d'informations, consultez la section MovieClip.attachAudio(). Disponibilité Flash Lite 3.0

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 676

Un document XML est représenté dans Flash par la classe XML. Chaque élément du document hiérarchique est représenté par un objet XMLNode. Pour plus d'informations sur les méthodes et les propriétés suivantes, consultez la classe XMLNode : appendChild(), attributes, childNodes, cloneNode(), firstChild, hasChildNodes(), insertBefore(), lastChild, nextSibling, nodeName, nodeType, nodeValue, parentNode, previousSibling, removeNode(), toString() Dans les versions précédentes du Guide de référence du langage ActionScript, les méthodes et les propriétés ci-dessus étaient documentées dans la section relative à la classe XML. Elles figurent désormais dans la section portant sur la classe XMLNode. Remarque : Les objets XML et XMLNode sont modélisés conformément à la recommandation DOM Level 1 de W3C: http://www.w3.org/tr/1998/REC-DOM-Level-1-19981001/level-one-core.html. Cette recommandation spécifie une interface Node et une interface Document. L'interface Document hérite de l'interface Node et ajoute des méthodes telles que createElement() et createTextNode(). Dans ActionScript, les objets XML et XMLNode sont conçus pour diviser la fonctionnalité le long de lignes similaires. Disponibilité Flash Lite 2.0 Voir aussi appendChild (méthode XMLNode.appendChild), attributes (propriété XMLNode.attributes), childNodes (propriété XMLNode.childNodes), cloneNode (méthode XMLNode.cloneNode), firstChild Si aucune déclaration DOCTYPE n'est détectée pendant une opération d'analyse, la propriété XML.docTypeDecl est définie sur undefined. La méthode XML.toString() produit le contenu de XML.docTypeDecl immédiatement après la déclaration XML enregistrée dans XML.xmlDecl et avant tout autre texte dans l'objet XML. Si XML.docTypeDecl n'est pas défini, aucune déclaration DOCTYPE n'est produite. Disponibilité Flash Lite 2.0 Exemple HTTP. Si vous tentez d'utiliser cet exemple pour charger un fichier local résidant sur votre disque dur, il ne fonctionnera pas correctement car, en mode de test d'animation, Flash Lite Player charge intégralement les fichiers locaux.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 686

Classes ActionScript

Dans les fichiers SWF exécutés dans une version du lecteur antérieure à Flash Player 7, le paramètre url doit être dans le même superdomaine que le fichier SWF qui transmet cet appel. Un superdomaine est dérivé en supprimant le composant le plus à gauche de l'URL d'un fichier. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données provenant de sources à l'adresse store.someDomain.com, étant donné que les deux fichiers sont dans le même superdomaine de someDomain.com.

Dans les fichiers SWF d'une version exécutée dans Flash Player 7 ou une version ultérieure, le paramètre url doit se trouver exactement dans le même domaine. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données en provenance de sources qui figurent également à l'adresse www.someDomain.com. Si vous souhaitez charger des données à partir d'un autre domaine, vous pouvez placer un fichier de régulation interdomaine sur le serveur hébergeant le fichier SWF. Lorsque la méthode load() est exécutée, la propriété loaded de l'objet XML est définie sur false. Lorsque le téléchargement des données XML est terminé, la propriété loaded est définie sur true et le gestionnaire d'événements onLoad est appelé. Les données XML ne sont pas analysées avant la fin du téléchargement. Si l'objet XML contenait précédemment des arborescences XML, elles sont supprimées. Vous pouvez définir une fonction personnalisée qui s'exécute lorsque le gestionnaire d'événements onLoad de l'objet XML est appelé. Disponibilité Flash Lite 2.0 Paramètres url:String - Chaîne qui représente l'emplacement de l'URL du document XML à charger. Si le fichier SWF effectuant cet appel s'exécute dans un navigateur Web, url doit appartenir au même domaine que le fichier SWF. Pour plus de détails, consultez la section Description.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 689

Classes ActionScript

L'exemple suivant définit un paquet XML et le type de contenu de l'objet XML. Les données sont alors envoyées à un serveur et les résultats s'affichent dans une fenêtre de navigateur.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 693

Classes ActionScript

Dans les fichiers SWF d'une version exécutée dans Flash Player 7 ou une version ultérieure, le paramètre url doit se trouver exactement dans le même domaine. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données en provenance de sources qui figurent également à l'adresse www.someDomain.com. Si vous souhaitez charger des données à partir d'un autre domaine, vous pouvez placer un fichier de régulation inter-domaines sur le serveur hébergeant le fichier SWF.

Lorsque sendAndLoad() est exécutée, la propriété loaded de l'objet XML est définie sur false. Lorsque le téléchargement des données XML est terminé, la propriété loaded est définie sur true et le gestionnaire d'événements onLoad est appelé. Les données XML ne sont pas analysées avant la fin du téléchargement. Si l'objet XML contenait précédemment des arborescences XML, elles sont supprimées. Disponibilité Flash Lite 2.0 Paramètres url:String - Chaîne, URL de destination de l'objet XML spécifié. Si le fichier SWF qui émet cet appel s'exécute sur un navigateur Web, l'url doit appartenir au même domaine que le fichier SWF. Pour plus de détails, consultez la section Description. resultXML:XML - Objet XML cible créé avec la méthode constructeur XML qui reçoit les informations renvoyées par le serveur. Exemple L'exemple suivant inclut du code ActionScript pour une application simple d'e-commerce. La méthode XML.sendAndLoad() transmet un élément XML qui contient le nom d'utilisateur et un mot de passe et recourt au gestionnaire onLoad pour traiter la réponse du serveur.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 694

Classes ActionScript

• -3 La déclaration XML ne s'est pas terminée correctement.

• -4 La déclaration DOCTYPE ne s'est pas terminée correctement. • -5 Un commentaire ne s'est pas correctement terminé. • -6 Un élément XML a été malformulé. • -7 Mémoire insuffisante. • -8 Une valeur d'attribut ne s'est pas terminée correctement. • -9 Une balise de début ne correspond pas à une balise de fin. • -10 Une balise de début n'a pas de balise de fin correspondante. Disponibilité Flash Lite 2.0 Exemple L'exemple suivant charge un paquet XML dans un fichier SWF. Un message d'état s'affiche pour indiquer si le code XML se charge et est analysé correctement. Ajoutez le code ActionScript suivant à votre fichier FLA ou AS :

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 695

Classes ActionScript Remarque : utilisez les méthodes createElement() et createTextNode() pour ajouter des éléments et des nœuds de texte à une arborescence de documents XML. Disponibilité Flash Lite 2.0 Paramètres text:String - Chaîne ; texte XML analysé pour créer l'objet XML. Exemple [lecture seule] liste des enfants du nœud.

Propriétés héritées de la classe Object constructor (propriété Object.constructor), __proto__ (Object.__proto__, propriété)prototype (propriété Object.prototype), __resolve (Object.__resolve, propriété)

Résumé de la méthode

• Clone le nœud racine de doc2 et l'ajoute à doc1.

• Crée un nœud et l'ajoute au nœud racine du document XML doc1.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 700

Classes ActionScript

Paramètres deep:Boolean - Valeur booléenne ; si elle est définie sur true, les enfants de l'objet XML spécifié sont clonés de façon récursive.

Valeur renvoyée XML dans l'objet. La déclaration XML n'est pas produite si la propriété XML.xmlDecl n'est pas définie. La déclaration DOCTYPE n'est pas produite si la propriété XML.docTypeDecl est définie sur undefined. Disponibilité Flash Lite 2.0 Valeur renvoyée • Chaque message XML est un document XML complet, terminé par un octet nul (0). • Un nombre illimité de messages XML peut être envoyé et reçu via une connexion XMLSocket.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 714

Classes ActionScript • La méthode XMLSocket.connect() permet une connexion uniquement aux ordinateurs se trouvant dans le domaine de résidence du fichier SWF. Cette restriction ne s'applique pas aux fichiers SWF s'exécutant en local. (Cette restriction est identique aux règles de sécurité de la fonction loadVariables() et des méthodes XML.sendAndLoad() et XML.load().) Pour se connecter à un démon de serveur s'exécutant dans un domaine différent du domaine de résidence du SWF, vous pouvez créer un fichier de régulation de sécurité sur le serveur qui autorise l'accès à partir de domaines spécifiques. La configuration d'un serveur en vue de la communication avec un objet XMLSocket peut être difficile à réaliser. Si votre application ne requiert pas d'interactivité en temps réel, utilisez la fonction loadVariables() ou les méthodes de connectivité serveur XML basée sur HTTP Flash (XML.load(), XML.sendAndLoad(), XML.send()) à la place de la classe XMLSocket. Pour utiliser les méthodes de la classe XMLSocket, vous devez d'abord utiliser le constructeur, XMLSocket, pour créer un objet XMLSocket. Disponibilité Flash Lite 2.1 Voir aussi loadPolicyFile (méthode security.loadPolicyFile) Pour connecter un objet XMLSocket à un port dont le numéro est inférieur à 1024, vous devez tout d'abord charger un fichier de régulation à l'aide de la méthode System.security.loadPolicyFile().

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 716

Classes ActionScript

Si vous spécifiez null pour le paramètre host, l'hôte contacté est celui où réside le fichier SWF appelant

XMLSocket.connect(). Par exemple, si le fichier SWF a été téléchargé à partir du site www.example.com, le fait de spécifier null pour le paramètre hôte équivaut à entrer l'adresse IP de www.example.com. Dans les fichiers SWF d'une version exécutée dans Flash Player 7 ou une version ultérieure, le paramètre host doit se trouver exactement dans le même domaine. Par exemple, un fichier SWF à l'adresse www.someDomain.com qui est publié pour Flash Player 5 mais s'exécute dans Flash Player 7 ou une version ultérieure ne peut charger des variables qu'à partir de fichiers SWF qui sont également à l'adresse www.someDomain.com. Si vous souhaitez charger des variables à partir d'un domaine différent, vous pouvez placer un fichier de régulation interdomaine sur le serveur hébergeant le fichier SWF qui est utilisé. Remarque : La méthode XMLSocket.connect() renvoie false si System.capabilities.hasXMLSocket est défini sur false. Disponibilité Flash Lite 2.1 Paramètres url:String - Chaîne ; nom de domaine DNS entièrement qualifié ou adresse IP sous la forme aaa.bbb.ccc.ddd. Vous pouvez également spécifier null pour vous connecter au serveur hôte qui héberge le fichier SWF. Si le fichier SWF effectuant cet appel s'exécute dans un navigateur Web, le paramètre host doit appartenir au même domaine que le fichier SWF. port:Number - Nombre ; numéro de port TCP de l'hôte utilisé pour établir une connexion. Valeur renvoyée Boolean - Valeur true si la connexion est établie ; false sinon. Exemple L'exemple suivant utilise la méthode XMLSocket.connect() pour la connexion à l'hôte hébergeant le fichier SWF et utilise la fonction trace() pour afficher la valeur renvoyée et indiquer ainsi l'aboutissement ou l'échec de la connexion : var socket:XMLSocket = new XMLSocket() socket.onConnect = function (success:Boolean) { if (success) { trace ("Connection succeeded!"); à condition que la connexion soit établie avec succès. Dans ce cas, les utilisateurs ont accès à l'écran principal de dialogue à partir de l'image appelée startChat. Si la connexion ne peut pas être établie, les utilisateurs sont dirigés vers un écran informatif, sur l'image appelée connectionFailed.

GUIDE DE RÉFÉRENCE DU LANGAGE ACTIONSCRIPT FLASH LITE 2.X ET 3.X 718

Classes ActionScript

XMLSocket.onData par un comportement personnalisé, XMLSocket.onXML n'est pas appelé, sauf si vous l'appelez dans votre implémentation de XMLSocket.onData.

Disponibilité Flash Lite 2.1 Paramètres src:String - Chaîne contenant les données envoyées par le serveur. Exemple Dans cet exemple, le paramètre src est une chaîne contenant du texte XML téléchargé à partir du serveur. Le terminateur à octet nul (0) n'est pas inclus dans la chaîne. XMLSocket.prototype.onData = function (src) { this.onXML(new XML(src)); } Par défaut, l'implémentation de cette méthode n'effectue aucune action. Pour annuler l'implémentation par défaut, vous devez attribuer une fonction contenant des actions que vous définissez. Disponibilité Flash Lite 2.1 Paramètres src:XML - Objet XML contenant un document XML analysé reçu d'un serveur.