Retrouvez gratuitement la notice de l'appareil FLASH 8 MACROMEDIA au format PDF.
Téléchargez la notice de votre Logiciel multimédia au format PDF gratuitement ! Retrouvez votre notice FLASH 8 - MACROMEDIA et reprennez votre appareil électronique en main. Sur cette page sont publiés tous les documents nécessaires à l'utilisation de votre appareil FLASH 8 de la marque MACROMEDIA.
Guide de référence du langage ActionScript 2.0
1 Step RoboPDF, ActiveEdit, ActiveTest, Authorware, Blue Sky Software, Blue Sky, Breeze, Breezo, Captivate, Central, ColdFusion, Contribute, Database Explorer, Director, Dreamweaver, Fireworks, Flash, FlashCast, FlashHelp, Flash Lite, Ce guide contient des liens conduisant à des sites web qui ne sont pas sous le contrôle de Macromedia, qui n'est aucunement responsable de leur contenu. L'accès à ces sites se fait sous votre seule responsabilité. Macromedia fournit ces liens à des fins pratiques et l’inclusion de ces liens n’implique pas que Macromedia parraine ou accepte la moindre responsabilité pour le contenu de ces sites Web tiers. Technologie de compression et décompression audio discours utilisée sous licence de Nellymoser, Inc. (www.nellymoser.com). Technologie de compression et décompression vidéo Sorenson™ Spark™ utilisée sous licence de Sorenson Media, Inc. Navigateur Opera ® Copyright © 1995-2002 Opera Software ASA et ses fournisseurs. Tous droits réservés. La technologie vidéo Macromedia Flash 8 est optimisée par la technologie vidéo On2 TrueMotion. © 1992-2005 On2 Technologies, Inc. Tous droits réservés. http://www.on2.com. Mitsubishi Electric Research Laboratory : Ce produit comprend les logiciels Copyright © 2005, Mitsubishi Electric Research ActionScript), ainsi que les directives de compilation ; pour les constantes, elle décrit les opérateurs, instructions et mots-clés utilisés dans ActionScript et définis par la spécification de langage ECMAScript (ECMA-262), version 4.
Cette section regroupe les directives à inclure dans votre fichier ActionScript pour demander au compilateur de prétraiter certaines instructions. Ne placez pas de point-virgule (;) à la fin de la ligne qui contient la directive. Résumé des directives de compilation Directive
#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 : ■
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.
Ne placez pas de point-virgule (;) à la fin de la ligne qui contient la directive #initclip. Disponibilité : Flash Player 6.0 ; ActionScript 1.0 Paramètres order:Number [facultatif ] - Un 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.
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. #initclip trace("initializing app"); var variables:LoadVars = new LoadVars(); variables.load("variables.txt"); variables.onLoad = function(success:Boolean) { trace("variables loaded:"+success); if (success) { for (i in variables) { trace("variables."+i+" = "+variables[i]); Résumé des constantes Modificateurs Constante
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 ultérieure,
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 Player 5 ; ActionScript 1.0 Exemple Dans l'exemple suivant, la variable x n'a pas été déclarée, sa valeur est donc undefined undefined. Dans la première section du code, l'opérateur d'égalité (==) compare la valeur de x à la valeur undefined ; le résultat approprié est ensuite envoyé au panneau de sortie. Dans la deuxième section du code, l'opérateur d'égalité (==) compare les valeurs null et undefined. // x has not been declared trace("The value of x is "+x); if (x == undefined) { trace("x is undefined"); } else { trace("x is not undefined"); } trace("typeof (x) is "+typeof (x)); if (null == undefined) { trace("null and undefined are equal"); clearInterval(interv Arrête l'appel setInterval(). alID:Number) duplicateMovieClip(t Crée une occurrence de clip pendant la lecture du arget:Object,
gotoAndPlay([scene:S Place la tête de lecture sur l'image spécifiée dans une tring], frame:Object)
:String], frame:Object)
Object) String.length pour effectuer les mêmes opérations. Renvoie la longueur de la chaîne ou variable spécifiée.
String.fromCharCode(). Convertit un numéro de code ASCII en caractère multi-octets. mblength(string:Stri Déconseillée à partir de Flash Player 5. Il est ng)
Renvoie la longueur de la chaîne de caractères multioctets.
String.charCodeAt(). Convertit le caractère spécifié en nombre multi-octets.
Extrait une nouvelle chaîne de caractères multi-octets d'une chaîne de caractères multi-octets.
ord(character:String Déconseillée à partir de Flash Player 5. Il est )
Convertit les caractères en numéros de code ASCII.
String, [radix:Number]) play() redessinées de l'écran.
[left,top,right,bott om:Number]) stop()
unloadMovie(target:O Supprime le clip qui a été chargé par l'intermédiaire de bject)
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 Player 6 ; ActionScript 1.0
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. ■
(tel que « my_mc ») ou une référence directe à l'occurrence de clip (par exemple my_mc). Les paramètres qui peuvent accepter plusieurs types de données sont répertoriés sous le type Object. target:Object
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
"always" pour les fichiers SWF, version 7 et antérieure. Utilisation 1 : Pour utiliser fscommand() afin d'envoyer un message à Flash Player, vous devez utiliser les commandes et les paramètres prédéfinis. Le tableau suivant indique les valeurs que vous pouvez spécifier pour les paramètres fscommand() command et parameters de la fonction. Ces valeurs contrôlent les fichiers SWF lus par Flash Player, y compris les projections. (Une projection est un fichier SWF enregistré sous un format permettant de l'exécuter en tant qu'application autonome, pouvant être lue sans Flash Player.) Commande
Ferme la projection.
Utilisation 2 : Pour utiliser fscommand() pour envoyer un message à un langage de programmation tel que JavaScript dans un navigateur Web, vous pouvez transmettre deux arguments quelconques avec les paramètres command et parameters. Ces paramètres peuvent être des chaînes ou des expressions. Ils sont utilisés dans une fonction JavaScript qui gère ou traite la fonction fscommand().
Internet Explorer ou dans la balise EMBED pour Netscape.) Lorsque l'attribut allowScriptAccess est défini sur "never", les scripts externes échouent systématiquement. Lorsque l'attribut allowScriptAccess est défini sur "always", les scripts externes sont acceptés systématiquement. Lorsqu'il est défini sur "sameDomain", les scripts sont uniquement autorisés à partir des fichiers SWF qui se trouvent dans le même domaine que la page Web. Si l'attribut allowScriptAccess n'est pas spécifié dans une page Web, il est défini par défaut sur "sameDomain" pour Flash Player 8, et sur "always" pour les versions précédentes de Flash Player. Lorsque vous utilisez cette fonction, référez-vous au modèle de sécurité de Flash Player. Pour Flash Player 8, la fonction fscommand() n'est pas autorisée si le fichier SWF appelant se trouve dans le système de fichiers local ou dans le Sandbox de réseau local et si la page HTML contenant ce fichier se trouve dans un Sandbox non approuvé. Pour plus d'informations, consultez le : ■
Flash ExternalInterface offre de meilleures fonctionnalités de communication entre JavaScript et ActionScript (Utilisation 2), et entre ActionScript et VisualBasic, Visual C++ ou d'autres programmes pouvant héberger les contrôles ActiveX (Utilisation 4). Vous devriez continuer à utiliser la fonction fscommand() pour envoyer des messages à Flash Player (Utilisation 1) et à Macromedia Director (Utilisation 3). Disponibilité : Flash Player 3 ; ActionScript 1.0 Paramètres command:String VBScript à votre guise. Dans cet exemple, la fonction contient une instruction conditionnelle if qui vérifie si la chaîne de commande est "messagebox". Si tel est le cas, un message d'alerte JavaScript affiche le contenu de la chaîne de la fonction fscommand() parameters. function myDocument_DoFSCommand(command, args) { if (command == "messagebox") { alert(args); } }
_framesloaded et ifFrameLoaded réside dans le fait que _framesloaded vous permet d'ajouter des instructions if ou else personnalisées. Disponibilité : Flash Player 4 ; ActionScript 1.0 Paramètres scene:String
Renvoie la longueur de la chaîne ou variable spécifiée.
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.
Pour Flash Player 8 : ■
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, _level N, 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 le débit 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é. Remarque : Les fichiers JPEG enregistrés au format progressif ne sont pas pris en charge. La fonction unloadMovieNum() permet de supprimer des fichiers SWF ou des images qui ont été chargés avec loadMovieNum(). Lorque vous utilisez cette méthode, prenez en considération le modèle de sécurité de Flash Player.
Dans les fichiers SWF exécutés dans une version antérieure à Flash Player 7, l'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 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.
Si vous souhaitez charger des variables dans un niveau spécifique, utilisez loadVariablesNum() à la place de loadVariables(). Disponibilité : Flash Player 4 ; ActionScript 1.0 Paramètres - Une URL absolue ou relative par rapport à l'emplacement des variables. 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, reportez-vous à la section Description. url:String Si vous souhaitez charger des variables dans un clip cible, utilisez loadVariables() à la place de loadVariablesNum(). Disponibilité : Flash Player 4 ; ActionScript 1.0 Paramètres - Une URL absolue ou relative par rapport à l'emplacement des variables. 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, reportez-vous à la section Description. url:String De manière générale, un utilisateur exécute un script JSAPI en sélectionnant Commandes > Exécuter la commande. Cependant, vous pouvez utiliser cette fonction dans un script ActionScript pour appeler directement une commande JSAPI. Si vous utilisez MMExecute() dans un script pour l'image 1 de votre fichier, la commande s'exécute lors du chargement du fichier SWF. Pour plus d'informations sur la JSAPI, voir www.macromedia.com/go/jsapi_info_en. Disponibilité : Flash Player 7 ; ActionScript 1.0 Paramètres command:String
MMExecute dans un champ de texte faisant partie du fichier de votre panneau Flash peut s'avérer plus facile.
L'utilisateur appuie sur le bouton de la souris pendant que le pointeur de la souris survole le bouton.
Chapitre 1: Eléments du langage ActionScript
L'une des limites de cette technique est que vous ne pouvez pas appliquer le gestionnaire on() pendant l'exécution ; vous devez l'appliquer pendant la programmation. Assurezvous que Contrôle > Désactiver les raccourcis clavier est sélectionné ou que les touches associées à un comportement intégré ne seront pas ignorées lorsque vous testez l'application avec Contrôle > Tester l'animation.
Exemple Dans le script suivant, la fonction startDrag() s'exécute lorsque l'utilisateur clique sur le bouton de la souris et le script conditionnel est exécuté lorsqu'il relâche le bouton de la souris et que l'objet est déposé : on (press) { startDrag(this); } on (release) { trace("X:"+this._x); trace("Y:"+this._y); stopDrag(); }
L'action commence dès que le clip est instancié et s'affiche dans le scénario.
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) {
Si vous utilisez bmovie pour le paramètre boundingBox, mais n'associez pas d'étiquette #b à une image, la zone d'impression est déterminée par la taille de la scène du clip chargé. (Le clip chargé n'hérite pas de la taille de la scène du clip principal.) Tous les éléments imprimables d'un clip doivent avoir été chargés de façon intégrale avant le début de l'impression. La fonction d'impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : Flash Player 4 ; ActionScript 1.0 Paramètres - Le nom d'occurrence du clip à imprimer. Par défaut, l'ensemble des images de l'occurrence cible peuvent être imprimées. Si vous souhaitez imprimer des images spécifiques du clip, associez une étiquette #p à ces images.
Voir également Si votre clip ne contient pas de transparences alpha ou d'effets de couleur, Macromedia recommande d'utiliser la fonction print() pour de meilleurs résultats qualitatifs. Si vous utilisez bmovie pour le paramètre boundingBox, mais n'associez pas d'étiquette #b à une image, la zone d'impression est déterminée par la taille de la scène du clip chargé. (Le clip chargé n'hérite pas de la taille de la scène du clip principal.)
PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : Flash Player 4 ; ActionScript 1.0 Paramètres - Le nom d'occurrence du clip à imprimer. Par défaut, l'ensemble des images du clip sont imprimées. Si vous souhaitez imprimer des images spécifiques du clip, associez une étiquette #p à ces images.
Tous les éléments imprimables d'un clip doivent avoir été chargés de façon intégrale avant le début de l'impression. La fonction d'impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : Flash Player 5 ; ActionScript 1.0 Paramètres - Le niveau de Flash Player à imprimer. Par défaut, l'ensemble des images du niveau sont imprimées. Si vous souhaitez imprimer des images spécifiques du niveau, associez une étiquette #p à ces images.
Tous les éléments imprimables d'un clip doivent avoir été chargés de façon intégrale avant le début de l'impression. La fonction d'impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : Flash Player 5 ; ActionScript 1.0 Paramètres - Le niveau de Flash Player à imprimer. Par défaut, l'ensemble des images du niveau sont imprimées. Si vous souhaitez imprimer des images spécifiques du niveau, associez une étiquette #p à ces images.
Identifiez le domaine dans lequel l'identificateur d'intervalle a été défini. Pour identifier le domaine dans lequel l'identificateur d'intervalle (intervalId) a été défini, vous pouvez l'affecter à une variable de membre du domaine de l'objet transmis à setInterval(). La fonction appelée peut ainsi localiser l'identificateur d'intervalle au niveau de this.intervalId. Supprimez les intervalles précédemment définis. Pour supprimer les intervalles définis avant d'en déterminer de nouveaux, vous devez généralement appeler clearInterval() avant setInterval(). Ceci vous évite d'écraser ou de détruire votre variable intervalId, la seule référence à l'intervalle en cours d'exécution. Pour appeler clearInterval() avant setInterval(), le script d'initialisation et le script exécuté doivent avoir accès à intervalId, comme indiqué dans les exemples. Remarque : Veillez à appeler clearInterval() pour arrêter la lecture en boucle du script. Disponibilité : Flash Player 6 ; ActionScript 1.0
left,top,right,bottom:Number [facultatif ] - Valeurs relatives aux coordonnées du parent du clip qui spécifient un rectangle de délimitation pour le clip.
L'exemple suivant crée, à l'exécution, un clip pic_mc que les utilisateurs peuvent faire glisser vers l'emplacement voulu en y associant les actions startDrag() et stopDrag(). Une image est chargée dans pic_mc à l'aide de la classe MovieClipLoader. var pic_mcl:MovieClipLoader = new MovieClipLoader(); pic_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth())); var listenerObject:Object = new Object(); listenerObject.onLoadInit = function(target_mc) { target_mc.onPress = function() { startDrag(this); }; target_mc.onRelease = function() { stopDrag(); L'instruction trace() est similaire à la fonction alert de JavaScript. 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 Player 4 ; ActionScript 1.0 Paramètres expression:Object - Une expression à évaluer. Lorsqu'un fichier SWF s'exécute dans l'outil
Récapitulatif des propriétés globales Modificateurs Propriété
Pour plus de détails sur le panneau Accessibilité, consultez la section « Panneau Accessibilité de Flash » dans le guide Utilisation de Flash. Pour spécifier si le lecteur doit s'exécuter dans un environnement qui prend en charge les fonctions d'accessibilité, utilisez la méthode System.capabilities.hasAccessibility().
Il est impossible de spécifier un paramètre Etiquetage auto lors de l'exécution. Pour faire référence à l'objet _accProps représentant le document Flash, omettez le paramètre La valeur _accProps doit être un objet. Ceci signifie que si aucun objet _accProps n'existe, vous devez en créer un, comme indiqué dans l'exemple suivant, avant de pouvoir affecter des valeurs aux propriétés de l'objet _accProps : instanceName.
Pour restaurer les fonctionnalités de clavier complet d'un bouton ou d'un clip spécifique, vous pouvez annuler cette propriété globale à l'aide de Button._focusrectou de 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. Disponibilité : Flash Player 4 ; ActionScript 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 : _focusrect = false; Remarque : Quand vous définissez une variable globale, vous devez utiliser le nom entièrement qualifié de la variable, par ex. _global.variableName. Le non respect de cette règle créera une variable locale du même nom qui masque la variable globale que vous essayez de définir. Renvoie Une référence à l'objet global qui contient les principales classes ActionScript, telles que String, Object, Math et Array. Disponibilité : Flash Player 6 ; ActionScript 1.0 Exemple L'exemple suivant crée une fonction de haut niveau, factorial(),, accessible à tous les scénarios et domaines d'un fichier SWF : _global.factorial = function(n:Number) { if(n <= 1) { return 1; 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.
Un autre clip portant le nom d'occurrence circle_mc figure dans ce clip. Le code ActionScript suivant vous permet de modifier l'occurrence circle_mc (à savoir square_mc) lorsque vous cliquez sur le cercle. Lorsque vous utilisez un adressage relatif (_parent au lieu de _root), il peut être judicieux d'utiliser le bouton Insérer un chemin cible dans le panneau Actions en premier. this.square_mc.circle_mc.onRelease = function() { this._parent._alpha -= 5; };
Flash Player 8 : Les bitmaps sont lissées sur la base du paramètre smoothing utilisé dans les appels MovieClip.attachBitma p() et MovieClip.beginBitmap Fill(). Flash Player 6 et 7 : Les bitmaps ne sont pas lissées.
MovieClip.attachBitma p() et MovieClip.beginBitmap Fill(). Quand smoothing est réglé sur
à l'échelle en utilisant un algorithme d'égalisation. Le rendu peut être ralenti, mais cela permet par exemple d'obtenir des vignettes de grandes images en haute qualité. Flash Player 6 et 7 : Les bitmaps sont toujours lissées.
été chargé dans un autre clip, utilisez MovieClip._lockroot. Disponibilité : Flash Player 5 ; ActionScript 1.0 Paramètres movieClip:String action:String
Disponibilité : Flash Player 5 ; ActionScript 1.0 Exemple Créez un fichier ActionsScript nommé ApplyThis.as et entrez 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; Simple.as, qui a été commentée dans l'exemple ci-dessus. Dans l'exemple suivant, le mot-clé this fait référence à l'objet Circle : function Circle(radius:Number):Void { this.radius = radius; this.area = Math.PI*Math.pow(radius, 2); } var myCircle = new Circle(4); trace(myCircle.area);
// sets the alpha property of the current movie clip to 20 this._alpha = 20; Par exemple, si un utilisateur entre 475 dans le champ de texte deposit, l'instruction trace() envoie la valeur 4751345,23 vers le panneau de 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);
String ne sont pas calculées : var a:String trace(a); // var b:String trace(b); //
List Variables in test mode // to see a list of the array elements. L'exemple suivant illustre deux façons de créer un objet Array vide ; la première ligne utilise des crochets ([]) : var my_array:Array = []; var my_array:Array = new Array();
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]); }
L'application de l'opérateur new crée un objet en mémoire. Une référence à l'emplacement de cet objet en mémoire est affectée à une variable. 142
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 Player 5 ; ActionScript 1.0 Opérandes expression1 : Number
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 Player 5 ; ActionScript 1.0 Opérandes expression1 : Number
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 :
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, ~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 importants 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 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 Player 5 ; ActionScript 1.0 Opérandes expression : Number
Les deux instructions suivantes sont équivalentes : A >>= B; A = (A >> B);
Disponibilité : Flash Player 5 ; ActionScript 1.0 Opérandes expression1 : Number
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 Player 5 ; ActionScript 1.0 Opérandes expression1 : Number
Disponibilité : Flash Player 5 ; ActionScript 1.0 Opérandes comment
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; est incorporée dans ce dernier. Valeur renvoyée Object
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.
Disponibilité : Flash Player 4 ; ActionScript 1.0 Opérandes expression1 : Object
Disponibilité : Flash Player 1,0 ; ActionScript 1.0 Opérandes comment
Le script suivant utilise des séparateurs de commentaires pour identifier les première, troisième, cinquième et septième lignes en tant que commentaires : // record the X position of the var ballX:Number = ball_mc._x; Le résultat est truetrue 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 Player 4 ; ActionScript 1.0 Opérandes expression1 : Number
Utilisation 2 : Évalue 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 Player 4 ; ActionScript 1.0 Opérandes expression1 : Object
String. Toutes les classes intégrées sont également prises en charge en tant que types natifs. Disponibilité : Flash Player 6 ; ActionScript 1.0 Opérandes - Identificateur pour une variable. type - Type de données natif, nom de classe que vous avez défini ou nom d'interface. functionName - Identificateur pour une fonction. parameter - Identificateur pour un paramètre de fonction. variableName : Object
Disponibilité : Flash Player 4 ; ActionScript 1.0 Exemple L'exemple suivant utilise l'instruction break pour fermer une boucle sans fin : var i:Number = 0; while (true) { trace(i);
Disponibilité : Flash Player 4 ; ActionScript 1.0 Paramètres expression:String
Vous ne pouvez pas incorporer 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. Pour indiquer que des objets peuvent ajouter des propriétés dynamiques pendant la période d'exécution et y accéder, faites précéder l'instruction class par un mot-clé dynamic. Pour déclarer qu'une classe implémente une interface, utilisez le mot-clé implements. Pour créer des sous-classes d'une classe, utilisez le mot-clé extends. (Une classe ne peut étendre qu'une seule autre classe, mais peut implémenter plusieurs interfaces.) Vous pouvez utiliser implements et extends au sein d'une instruction unique. Les exemples suivants présentent des exemples type 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
Paramètres className:String Dans la boucle while suivante, l'instruction continue force l'interpréteur Flash à ignorer le reste du corps de la boucle et à passer au début de la boucle, où la condition est testée : trace("example 1"); var i:Number = 0; while (i < 10) { if (i % 3 == 0) { i++; continue; } trace(i); i++; L'instruction case par default ne doit pas nécessairement figurer en fin de liste. Si vous utilisez l'instruction default en dehors d'une instruction switch, ceci produit une erreur et le script ne se compile pas. Disponibilité : Flash Player 6 ; ActionScript 1.0 Paramètres statements:String
Disponibilité : Flash Player 5 ; ActionScript 1.0 Valeur renvoyée 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 Player 4 ; ActionScript 1.0 Paramètres - 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 .
Les sous-classes des classes dynamiques sont également des classes dynamiques. Spécifiez bien le type lors de la déclaration d'un objet, comme ci-dessous : var x:MyClass = new MyClass();
Si vous écrivez une boucle for..in dans un fichier de classe (un fichier externe AS), les membres d'instance ne seront 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 Player 5 ; ActionScript 1.0 Paramètres variableIterant:String - Nom d'une variable devant servir d'itérant, référençant chaque propriété d'un objet ou d'un élément dans un tableau.
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 function 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.
// On Frame 1 of a FLA: import macr.util.*; var myFoo:foo = new foo();
Disponibilité : Flash Player 6 ; ActionScript 2.0 Le mot-clé intrinsic peut également être utilisé conjointement avec des déclarations de variable et de fonction. Flash utilise ce mot-clé pour permettre la vérification des types des fonctions et des propriétés globales lors de la compilation. 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 Player 6 ; ActionScript 2.0
Créez un nouveau fichier de classe intitulé User.as et entrez le code suivant : class User { public var age:Number; public var name:String; }
ActionScript suivant dans l'image 1 du scénario : import User; var jimmy:User = new User(); jimmy.age = 27; jimmy.name = "jimmy"; Si vous devez renvoyer des valeurs multiples, utilisez un tableau ou un objet. Disponibilité : Flash Player 5 ; ActionScript 1.0 Valeur renvoyée Object ou MovieClip. Le scénario de chaque fichier SWF et clip comporte son propre jeu de variables, et chaque variable dispose de sa propre valeur, indépendamment des variables des autres scénarios. 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. 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 valeur « Tuesday » 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
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 Player 6 ; ActionScript 2.0
De manière générale, le système renvoie des occurrences de la classe Error ou de ses sousclasses (voir la section Exemple). Disponibilité : Flash Player 7 ; ActionScript 1.0 Paramètres expression:Object
Si une erreur est renvoyée au sein d'une fonction et si cette fonction n'inclut pas de gestionnaire catch, l'interpréteur 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 Player 7 ; ActionScript 1.0 Paramètres error:Object - Expression renvoyée par une instruction throw, en général une instance de la
Dans l'exemple suivant, les objets RecordSetException et MalformedRecord sont des sousclasses de la classe Error. 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."; 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
à 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 : ■
Pour obtenir et définir les propriétés d'accessibilité d'un objet spécifique, tel qu'un bouton, clip ou champ de texte, utilisez la propriété _accProps. Pour spécifier si le lecteur doit s'exécuter dans un environnement qui prend en charge les fonctions d'accessibilité, utilisez System.capabilities.hasAccessibility. Disponibilité : ActionScript 1.0 ; Flash Player 6 Voir également hasAccessibility (propriété capabilities.hasAccessibility), _accProps, propriété updateProperties() : Entraîne l'entrée en vigueur de toutes les modifications Void
Flash et MSAA. Vous pouvez contourner cette restriction en respectant un délai de une à deux secondes, après avoir chargé votre document, avant d'appeler cette méthode. Disponibilité : ActionScript 1.0 ; Flash Player 6
Si vous modifiez les propriétés d'accessibilité de plusieurs objets, un seul appel de Accessibility.updateProperties() est nécessaire ; plusieurs appels peuvent entraîner des performances réduites et des résultats du logiciel de lecture d'écran inintelligibles. Disponibilité : ActionScript 1.0 ; Flash Player 6,0,65,0 Exemple Si vous modifiez une image et souhaitez mettre à jour sa description d'accessibilité, vous pouvez utiliser le code ActionScript suivant : my_mc.gotoAndStop(2); if (my_mc._accProps == undefined ) { my_mc._accProps = new Object(); } my_mc._accProps.name = "Photo of Mount Rushmore"; Les arguments sont stockés en tant qu'éléments de tableau, le premier étant accessible en tant que arguments[0], le deuxième en tant que arguments[1], etc. La propriété arguments.length indique le nombre d'arguments transmis à la fonction. Sachez que le nombre d'arguments transmis peut différer de celui ayant été déclaré par la fonction. Disponibilité : ActionScript 1.0 ; Flash Player 5 Voir également Function 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.
(é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 à l'aide du type de données 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"};
Utilisation 3 : Si vous utilisez les paramètres element pour spécifier des valeurs, un tableau est créé avec des valeurs spécifiques. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres value:Object
Exemple Utilisation 1 : L'exemple suivant crée un nouvel objet Array d'une longueur initiale de 0 : var my_array:Array = new Array(); trace(my_array.length); // Traces 0. La valeur de cette constante est 1. Disponibilité : ActionScript 1.0 ; Flash Player 7 Voir également sort (méthode Array.sort), sortOn (méthode Array.sortOn)
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: NUMERIC n'est pas incluse dans le paramètre options, le tableau trié est [2005, 35, 7] ; en revanche, si la constante NUMERIC est incluse, le tableau trié est [7, 35, 2005]. Notez que cette constante s'applique uniquement aux nombres contenus dans le tableau ; elle ne s'applique pas aux chaînes qui contiennent des données numériques (telles que [23, 5]). La valeur de cette constante est 16. Disponibilité : ActionScript 1.0 ; Flash Player 7 Voir également 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.
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. Par défaut, Array.sortOn() fonctionne de la façon suivante : ■
Ce nombre inclut l'élément spécifié dans le paramètre startIndex. Si aucune valeur n'est spécifiée pour le paramètre deleteCount, la méthode supprime toutes les valeurs comprises entre l'élément startIndex et le dernier élément du tableau. Si la valeur est 0, aucun élément n'est supprimé.
Vous pouvez utiliser cette classe pour définir un objet en tant que diffuseur d'événements et pour créer un ou plusieurs objets écouteurs qui reçoivent une notification à chaque fois que l'objet de diffusion appelle la méthode broadcastMessage(). Aucune fonction constructeur n'existe pour la classe AsBroadcaster. Pour utiliser cette classe, procédez comme suit : ■
Remarque : Une erreur courante consiste à mettre en majuscule la deuxième lettre de AsBroadcaster. Lorsque vous appelez la méthode AsBroadcaster.initialize(), assurezvous que la deuxième lettre est en minuscule. Toute faute d'orthographe apparaissant dans AsBroadcaster échoue sans indication. Disponibilité : ActionScript 1.0 ; Flash Player 6 Résumé des propriétés Modificateurs Propriété _listeners:Array removeListener(liste Supprime un objet de la liste d'objets recevant des nerObj:Object) :
Remarque : Vous pouvez transmettre des arguments à vos fonctions d'écouteur en incluant des arguments supplémentaires à la méthode broadcastMessage(). Tous les arguments apparaissant après le paramètre eventName sont reçus en tant qu'arguments par la méthode d'écouteur. Cette méthode ne peut être appelée qu'à partir d'un objet ayant été initialisé à l'aide de la méthode AsBroadcaster.initialize(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres - Le nom de l'événement à diffuser. Le nom des méthodes d'écouteur doit correspondre à ce paramètre afin de pouvoir recevoir l'événement de diffusion. Vous pouvez transmettre des arguments aux méthodes d'écouteur en incluant des arguments supplémentaires après eventName.
AsBroadcaster. Lorsque vous appelez la méthode AsBroadcaster.initialize(), assurezvous que la deuxième lettre est en minuscule. Toute faute d'orthographe apparaissant dans AsBroadcaster échoue sans indication. Cette méthode ajoute la propriété _listeners, ainsi que les trois méthodes suivantes, à l'objet spécifié par le paramètre obj : ■
Pour appliquer des filtres aux clips, champs de texte et boutons lors de l'exécution, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters.
Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Ce filtre prend en charge le redimensionnement de la scène. Toutefois, le redimensionnement général, la rotation et l'inclinaison ne sont pas pris en charge. Si l'objet est redimensionné (si _xscale et _yscale ne sont pas définis sur 100 %), le filtre ne l'est pas. Le redimensionnement est effectué uniquement en cas de zoom avant sur la scène.
La valeur par défaut est 0xFFFFFF. highlightColor:Number
[facultatif ] - La valeur de transparence alpha de la couleur d'ombre. Les valeurs valides sont comprises entre 0 et 1. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 1.
La valeur par défaut est "inner".
(rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelHighlightColor"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.highlightColor = 0x0000FF; this.filters = new Array(filter); Pour la plupart des applications, une valeur quality de 1, 2 ou 3 est suffisante. Bien que vous puissiez utiliser des valeurs numériques supplémentaires pouvant aller jusqu'à 15 pour obtenir d'autres effets, les rendus des valeurs plus élevées sont obtenus moins rapidement. Au lieu d'augmenter la valeur de quality, vous pouvez souvent obtenir un effet similaire dont le rendu est obtenu plus rapidement. Pour ce faire, il vous suffit d'augmenter les valeurs de blurX et blurY. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété quality de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelQuality"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.quality = 1; this.filters = new Array(filter); L'exemple suivant modifie la propriété shadowAlpha de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelShadowAlpha"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.shadowAlpha = .2; this.filters = new Array(filter); 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 un bitmap entièrement opaque ou entièrement transparent 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 zéro à 255) décrivant les valeurs de transparence alpha et 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 les utilisez avec la méthode BitmapData.copyChannel() ou avec les propriétés DisplacementMapFilter.componentX et DisplacementMapFilter.componentY, comme suit : ■
Les largeur et hauteur maximales d'un objet BitmapData sont de 2880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8
hitTest(firstPoint:P Procède à la détection des clics au niveau des pixels oint,
sourceRect:Rectangle palette de couleurs, un pour chaque canal. , destPoint:Point, [redArray:Array], [greenArray:Array], [blueArray:Array], sourceRect:Rectangle de nouvelles valeurs de couleur. , destPoint:Point, operation:String, threshold:Number, [color:Number], Une fois le filtre appliqué, la taille de l'image obtenue peut être supérieure à celle de l'image d'entrée. Par exemple, si vous utilisez une classe BlurFilter pour rendre flou un rectangle source de (50,50,100,100) et un point de destination de (10,10), la zone modifiée sur l'image de destination est supérieure à (10,10,60,60) en raison du flou. Cela se produit en interne au cours de l'appel applyFilter(). Si le paramètre sourceRect du paramètre sourceBitmapData est une zone intérieure, telle que (50,50,100,100) sur une image 200 x 200, le filtre utilise les pixels source hors du paramètre sourceRect pour générer le rectangle de destination. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres sourceBitmap:flash.display.BitmapData - L'image bitmap d'entrée à utiliser. L'image source peut être un objet BitmapData différent ou peut faire référence à l'occurrence BitmapData actuelle. sourceRect:flash.geom.Rectangle
BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source. filter:flash.filters.BitmapFilter - L'objet filtre utilisé pour effectuer l'opération de filtrage. Chaque type de filtre dispose d'exigences spécifiques, comme suit : ■
Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres width:Number
Paramètres rect:flash.geom.Rectangle - Un objet Rectangle qui définit la zone de l'image dans laquelle l'objet ColorTransform est appliqué. colorTransform:flash.geom.ColorTransform
Exemple L'exemple suivant indique comment appliquer une opération de transformation de couleurs à une occurrence BitmapData. import flash.display.BitmapData;
- Le point de destination représentant le coin supérieur gauche de la zone rectangulaire dans laquelle les nouveaux pixels sont placés. destPoint:flash.geom.Point
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. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres source:Object
Certains filtres découpent leur rectangle de destination selon la taille de l'image source. Par exemple, un filtre DropShadow interne ne génère pas de résulat dont la taille est supérieure à celle de son image source. Dans cette interface API, l'objet BitmapData fait office de bornes source et n'est pas utilisé en tant que paramètre rect. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres sourceRect:flash.geom.Rectangle
du rectangle de destination. Renvoie flash.geom.Rectangle - Un rectangle de destination dont les dimensions ont été calculées à
Exemple L'exemple suivant indique comment déterminer le rectangle de destination affecté par la méthode applyfilter() : import flash.display.BitmapData; import flash.filters.BevelFilter; import flash.geom.Rectangle; var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCCCCCCC); 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é : ActionScript 1.0 ; Flash Player 8 Paramètres x:Number
étant opaque pour ce test de recherche. firstAlphaThreshold:Number
valeur par défaut est 0. high:Number [facultatif ] - La valeur la plus élevée à générer pour chaque canal (de 0 à 255). La valeur par défaut est 255.
Les effets multi-canaux sont pris en charge par cette méthode. Chaque tableau d'entrée peut contenir des valeurs entières 32 bits ; aucun décalage ne se produit lorsque les valeurs sont additionnées. Cette routine ne prend pas en charge le verrouillage canal par canal. Si aucun tableau n'est spécifié pour un canal, le canal de couleur est simplement copié de l'image source vers l'image de destination. Vous pouvez utiliser cette méthode pour de nombreux effets, tel que le mappage de palette général (qui consiste à sélectionner un canal pour le convertir en image couleur de valeur false). Vous pouvez également utiliser cette méthode pour de nombreux algorithmes de manipulation de couleurs avancés, tels que gamma, courbes, niveaux et quantification. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres sourceBitmap:flash.display.BitmapData - L'image bitmap d'entrée à utiliser. L'image source peut être un objet BitmapData différent ou peut faire référence à l'objet BitmapData actuel. sourceRect:flash.geom.Rectangle
Vous pouvez utiliser les fonctions de bruit Perlin pour simuler des phénomènes naturels et des paysages tels que le grain du bois, les nuages ou les chaînes de montagnes. Dans la plupart des cas, la sortie d'une fonction de bruit Perlin ne s'affiche pas directement mais est utilisée pour améliorer d'autres images et leur attribuer des variations pseudo-aléatoires. Les fonctions de bruit aléatoire numériques simples produisent souvent des images aux points durs et contrastés. On ne retrouve pas souvent ce type de contraste dur dans la nature. L'algorithme de bruit Perlin mélange plusieurs fonctions de bruit ayant des niveaux de détails différents. Cet algorithme engendre des variations plus petites parmi les valeurs des pixels environnants. Remarque : On doit l'algorithme de bruit Perlin à Ken Perlin qui a été le premier à le mettre au point après avoir créé des images graphiques sur ordinateur pour le film Tron sorti en 1982. Perlin a reçu un Oscar pour avoir mis au point la fonction de bruit Perlin en 1997. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Fréquence à utiliser dans la direction x. Par exemple, pour générer un bruit adapté à une image de 64 x 128 pixels, définissez la valeur baseX sur 64.
Dans ce mode, le paramètre point de destination est ignoré. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres sourceBitmap:flash.display.BitmapData - L'image bitmap d'entrée à utiliser. L'image source peut être un objet BitmapData différent ou peut faire référence à l'occurrence BitmapData actuelle. sourceRect:flash.geom.Rectangle
BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source. randomSeed:Number [facultatif ] - La valeur de départ aléatoire à utiliser pour démarrer la dissolution de pixels. La valeur par défaut est 0.
Par exemple, si vous utilisez « == », vous pouvez isoler une valeur de couleur spécifique dans une image. Ou si vous utilisez {operation: "<", mask: 0xFF000000, threshold: 0x7f000000, color: 0x00000000}, vous pouvez définir tous les pixels de destination comme étant entièrement transparents lorsque la valeur alpha du pixel de l'image source est inférieure à 0x7F. Vous pouvez utiliser cette technique pour les transitions animées et les autres effets. Disponibilité : ActionScript 1.0 ; Flash Player 8
[facultatif ] - La valeur de couleur sur laquelle un pixel est défini si le test de seuil réussit. La valeur par défaut est 0x00000000.
GradientGlowFilter héritent de la classe BitmapFilter. Vous pouvez appliquer ces effets de filtre aux bitmaps et aux occurrences MovieClip. Vous pouvez créer des sous-classes uniquement pour les précédentes sous-classes de la classe BitmapFilter. Disponibilité : ActionScript 1.0 ; Flash Player 8 Résumé des propriétés Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo pendant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Ce filtre prend en charge le redimensionnement de la scène. Cependant, il ne prend pas en charge la mise à l'échelle, la rotation ni l'inclinaison. Si l'objet lui-même est redimensionné (_xscale et _yscale ne sont pas à 100%), l'effet de filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom avant sur la scène. Un filtre ne peut s'appliquer si l'image résultante dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, si vous faites un zoom avant sur un grand clip auquel un filtre est appliqué, le filtre est désactivé si l'image résultante dépasse la limite de 2880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également filters (propriété MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap), filters (propriété Button.filters), cacheAsBitmap Pour la plupart des applications, une valeur de quality de 1, 2, ou 3 est suffisante. Vous pouvez cependant utiliser les valeurs numériques jusqu'à 15 pour augmenter le nombre de fois où le flou est appliqué pour obtenir un effet de flou plus important. Mais les valeurs les plus hautes donnent un rendu plus lent. Plutôt que d'augmenter la valeur de quality, vous pouvez souvent obtenir un effet similaire avec un rendu plus rapide en augmentant simplement les valeurs de blurX et blurY. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée un rectangle et lui applique un filtre de flou avec une valeur de de 1. Lorsque vous cliquez sur le rectangle, la valeur de quality augmente à 3, et le rectangle devient plus flou.
Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) La classe Button hérite de la classe Object. Disponibilité : ActionScript 1.0 ; Flash Player 6 Voir également Object redimensionnement du bouton. _soundbuftime:Number Propriété qui spécifie le nombre de secondes pendant
Le tableau suivant répertorie les réglages blendMode. Pour définir la propriété blendMode, vous pouvez utiliser un entier compris entre 1 et 14 ou une chaîne. Les illustrations du tableau montrent blendMode appliqué sur un bouton (2) quand il est superposé à un autre objet à l'écran (1).
0x4840. La division par 0xFF donne une valeur de 0x48 pour cette couleur primaire, ce qui est une ombre plus foncée que celle du bouton ou de l'arrière-plan.
0xFFCC33, et le pixel d'arrière-plan une valeur RVB de 0xDDF800, la valeur RVB résultante pour le pixel affiché est de 0xFFF833 (parce que 0xFF > 0xDD, 0xCC < 0xF8, et 0x33 > 0x00 = 33).
0xDDF800, la valeur RVB résultante pour le pixel affiché est de 0xDDCC00 (parce que 0xFF > 0xDD, 0xCC < 0xF8, et 0x33 > 0x00 = 33).
0xDDF800, la valeur RVB résultante pour le pixel affiché est de 0x222C33 (parce que 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C et 0x33 - 0x00 = 0x33). 0xAAA633, et le pixel d'arrière-plan une valeur RVB de 0xDD2200, la valeur RVB résultante pour le pixel affiché est de 0xFFC833 (parce que 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8, et 0x33 + 0x00 = 0x33). 0xAA2233, et le pixel d'arrière-plan une valeur RVB de 0xDDA600, la valeur RVB résultante pour le pixel affiché est de 0x338400 (parce que 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84, et 0x00 - 0x33 < 0x00). Si vous tentez de définir la propriété blendModesur une autre valeur, Flash la définit sur "normal".
Aucune bitmap interne n'est créée sauf si la propriété cacheAsBitmap est définie sur true. Après avoir défini la propriété cacheAsBitmap du bouton sur true, le rendu ne change pas, bien que le bouton procède automatiquement à l'accrochage aux pixels. La vitesse d'animation peut être beaucoup plus importante selon la complexité du contenu vectoriel. La propriété cacheAsBitmap est définie automatiquement sur true lorsque vous appliquez un filtre à un bouton (lorsque son tableau filter n'est pas vide). Lorsqu'un bouton est filtré, cacheAsBitmap renvoie la valeur true pour ce bouton, même si vous l'avez définie sur false. Si vous supprimez tous les filtres d'un bouton, le réglage cacheAsBitmap à sa position précédente.
//button code // the following function will not get called // because myBtn2_btn.enabled was set to false myBtn1_btn.onRelease = function() { trace( "you clicked : " + this._name ); Button.filters. Vous ne pouvez pas appliquer directement un nouvel objet filtre au tableau Button.filters. Le code suivant n'a aucun effet sur le bouton cible, appelé myButton : myButton.filters[0].push(myDropShadow);
Si vous manipulez un tableau filters contenant plusieurs filtres et devez suivre le type de filtre affecté à chaque index de tableau, vous pouvez conserver votre propre tableau filters et utiliser une structure de données distincte pour suivre le type de filtre associé à chaque index de tableau. Il n'existe aucune méthode simple permettant de déterminer le type de filtre associé à chaque index de tableau filters. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant ajoute un filtre d'ombre portée à un bouton appelé myButton. import flash.filters.DropShadowFilter; var myDropFilter:DropShadowFilter = new DropShadowFilter(6, 45, 0x000000, 50, 5, 5, 1, 2, false, false, false); var myFilters:Array = myButton.filters; myFilters.push(myDropFilter); myButton.filters = myFilters; 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. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Cet exemple démontre comment masquer le rectangle jaune autour d'une occurrence de bouton spécifiée d'un fichier SWF lorsqu'elle a le focus dans une fenêtre de navigateur. Créez trois boutons intitulés myBtn1_btn, myBtn2_btn et myBtn3_btn, puis ajoutez le code ActionScript suivant à l'image 1 du scénario : myBtn2_btn._focusrect = false; Lorsque vous cliquez sur Enregistrer dans le menu, le panneau de sortie s'affiche. Voir également ContextMenu, ContextMenuItem, menu (propriété MovieClip.menu), menu (propriété TextField.menu) Lorsque vous appuyez sur les touches, elles s'affichent dans le panneau de sortie. Voir également onKeyUp (gestionnaire Button.onKeyUp), getAscii (méthode Key.getAscii), getCode (méthode Key.getCode)
Invoqué lorsqu'un bouton reçoit le focus d'entrée et lorsque l'utilisateur relâche une touche. Le gestionnaire d'événements onKeyUp est appelé sans paramètre. Vous pouvez utiliser les méthodes Key.getAscii() et Key.getCode() afin d'identifier la touche sur laquelle l'utilisateur a appuyé. Disponibilité : ActionScript 1.0 ; Flash Player 6
Tab jusqu'à ce que le bouton ait le focus (un rectangle jaune entoure l'occurrence my_btn) et commencez à appuyer sur les touches de votre clavier. Lorsque vous appuyez sur les touches, elles s'affichent dans le panneau de sortie. Voir également onKeyDown (gestionnaire Button.onKeyDown), getAscii (méthode Key.getAscii), getCode (méthode Key.getCode)
Invoqué lorsqu'un bouton perd le focus clavier. La gestionnaire onKillFocus reçoit un paramètre, newFocus : il s'agit d'un objet représentant le nouvel objet recevant le focus. Si aucun objet ne reçoit le focus, newFocus contient la valeur null. "LOW Qualité de rendu inférieure. Les images ne sont pas anti-aliasées et les bitmaps ne sont pas lissées.
Vous obtiendrez davantage d'informations, y compris des illustrations et un exemple s'y rapportant en consultant MovieClip.scale9Grid. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également Rectangle (flash.geom.Rectangle), scale9Grid (propriété Le code ActionScript suivant est utilisé pour définir la propriété tabEnabled sur false pour l'un des quatre boutons. Cependant, les quatre boutons (one_btn, two_btn, three_btn, et four_btn) sont placés dans un ordre de tabulation personnalisé à l'aide de tabIndex. Bien que la propriété tabIndex soit définie pour le bouton three_btn, ce dernier n'est pas inclus dans un ordre de tabulation personnalisé ou automatique car la propriété tabEnabled est définie sur false pour cette occurrence. Pour définir l'ordre de tabulation des quatre boutons, ajoutez le code ActionScript suivant à l'image 1 du scénario : three_btn.tabEnabled = false; two_btn.tabIndex = 1; four_btn.tabIndex = 2; three_btn.tabIndex = 3; one_btn.tabIndex = 4;
Voir également tabIndex (propriété Button.tabIndex), tabEnabled (propriété MovieClip.tabEnabled), tabEnabled (propriété TextField.tabEnabled) 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 possédant une valeur tabIndex de 1 précède un objet ayant une valeur tabIndex de 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 plat. 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(non défini). Il est recommandé de ne pas affecter la même valeur tabIndex à plusieurs objets. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Le code ActionScript suivant est utilisé pour définir la propriété tabEnabled sur false pour l'un des quatre boutons. Cependant, les quatre boutons (one_btn, two_btn, three_btn, et four_btn) sont placés dans un ordre de tabulation personnalisé à l'aide de tabIndex. Bien que la propriété tabIndex soit définie pour le bouton three_btn, ce dernier n'est pas inclus dans un ordre de tabulation personnalisé ou automatique car la propriété tabEnabled est définie sur false pour cette occurrence. Pour définir l'ordre de tabulation des quatre boutons, ajoutez le code ActionScript suivant à l'image 1 du scénario : three_btn.tabEnabled = false; two_btn.tabIndex = 1; four_btn.tabIndex = 2; three_btn.tabIndex = 3; one_btn.tabIndex = 4;
L'exemple suivant définit les coordonnées de my_btn sur 0 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;
Pour créer ou référencer un objet Camera, utilisez la méthode Camera.get(). Disponibilité : ActionScript 1.0 ; Flash Player 6
été appelé, cette propriété est définie sur -1. Si vous effectuez uniquement l'émission d'une vidéo non compressée en local, cette propriété est définie uniquement si vous avez affecté une fonction au gestionnaire d'événements Camera.onActivity. Dans le cas contraire, elle est non définie. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Cet exemple indique la quantité de mouvement détectée par la caméra à l'aide de la propriété et d'une occurrence ProgressBar. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence de composant ProgressBar intitulée activity_pb à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : activityLevel
Camera.get() pour renvoyer une référence à la caméra par défaut. Via le panneau Paramètres de la caméra (comme indiqué plus bas dans cette section), l'utilisateur peut spécifier la caméra que Flash doit utiliser par défaut. Si vous transmettez une valeur pour index, vous pouvez essayer de référencer une caméra autre que celle que l'utilisateur préfère utiliser. Vous pouvez utiliser index en de rares occasions, par exemple si votre application capture de la vidéo à partir de deux caméras simultanément. Lorsqu'un fichier SWF tente d'accéder à la caméra renvoyée par Camera.get(), Flash Player affiche une boîte de dialogue Confidentialité permettant à l'utilisateur d'autoriser ou de refuser l'accès à la caméra. (Assurez-vous que la taille de votre scène est d'au moins 215 x 138 pixels ; il s'agit de la taille minimale requise par Flash pour afficher la boîte de dialogue.) Lorsque l'utilisateur répond à cette boîte de dialogue, le gestionnaire d'événements Camera.onStatus renvoie un objet d'informations qui indique la réponse de l'utilisateur. Pour déterminer si l'utilisateur a refusé ou autorisé l'accès à la caméra sans traiter ce gestionnaire d'événements, utilisez la propriété Camera.muted. L'utilisateur peut également spécifier des paramètres de confidentialité permanents pour un domaine spécifique. Pour ce faire, il lui suffit de cliquer avec le bouton droit (Windows) ou d'appuyer sur la touche Contrôle (Macintosh) lors de la lecture d'un fichier SWF, de pointer sur Paramètres, d'ouvrir le panneau Contrôle de l'accès, puis de sélectionner Mémoriser. Vous ne pouvez pas utiliser ActionScript pour définir la valeur Autoriser ou Refuser d'un utilisateur, mais vous pouvez afficher le panneau Confidentialité pour l'utilisateur via System.showSettings(0). Si l'utilisateur sélectionne Mémoriser, Flash Player n'affiche plus la boîte de dialogue Confidentialité pour les fichiers SWF de ce domaine.
Cependant, si Flash ne détecte aucune caméra, il effectuera une analyse à chaque fois que Camera.get est appelé. Cela est particulièrement utile si un utilisateur a oublié de connecter la caméra ; si votre fichier SWF contient un bouton Réessayer permettant d'appeler Camera.get, Flash peut rechercher la caméra sans que l'utilisateur ne doive redémarrer le fichier SWF. Remarque : La syntaxe correcte est Camera.get(). Pour affecter l'objet Camera à une variable, utilisez une syntaxe comme active_cam = Camera.get() : Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres [facultatif ] - Entier de base zéro spécifiant la caméra à sélectionner, comme déterminé dans le tableau renvoyé par la propriété Camera.names. Pour obtenir la caméra par défaut (ce qui est recommandé pour la plupart des applications), omettez ce paramètre. index:Number
L'exemple suivant vous permet de sélectionner une caméra active à utiliser à partir d'une occurrence ComboBox. La caméra actuellement active s'affiche dans une occurrence du composant Label. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant Label intitulée camera_lbl à la scène, ainsi qu'une occurrence du composant ComboBox intitulée cameras_cb. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get();
L'exemple suivant détecte continuellement le niveau de mouvement d'une caméra. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant Label intitulée motionLevel_lbl, une occurrence du composant NumericStepper intitulée motionLevel_nstep et une occurrence du composant ProgressBar intitulée motion_pb à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); // configure the ProgressBar component instance var motion_pb:mx.controls.ProgressBar; motion_pb.mode = "manual"; motion_pb.label = "Motion: %3%%"; var motionLevel_lbl:mx.controls.Label; // configure the NumericStepper component instance var motionLevel_nstep:mx.controls.NumericStepper; motionLevel_nstep.minimum = 0; motionLevel_nstep.maximum = 100; motionLevel_nstep.stepSize = 5;
Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, un message d'erreur peut s'afficher si my_cam.muted renvoie true. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); my_cam.onStatus = function(infoObj:Object) { if (my_cam.muted) { L'appel de la propriété Camera.names nécessite un examen minutieux du matériel et plusieurs secondes peuvent être nécessaires pour créer le tableau. Dans la plupart des cas, vous pouvez utiliser la caméra par défaut. Remarque : La syntaxe correcte est Camera.names. Pour affecter la valeur renvoyée à une variable, utilisez une syntaxe comme cam_array = Camera.names: Pour déterminer le nom de la caméra en cours, utilisez active_cam .name. Disponibilité : ActionScript 1.0 ; Flash Player 6
Paramètres active:Boolean - Valeur booléenne définie sur true quand la caméra commence à détecter du mouvement, sur false quand le mouvement s'arrête.
Remarque : Si l'utilisateur choisit d'autoriser ou de refuser définitivement l'accès à tous les fichiers SWF d'un domaine spécifié, ce gestionnaire n'est pas appelé pour les fichiers SWF de ce domaine sauf si l'utilisateur modifie ultérieurement le paramètre de confidentialité. Pour plus d'informations, reportez-vous à Camera.get(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres infoObject:Object
Lorsqu'il choisit un mode natif, Flash essaie de conserver les proportions demandées dans la mesure du possible. Par exemple, si vous appelez la commande active_cam.setMode(400, 400, 30), et si les valeurs de largeur et de hauteur maximales disponibles sur la caméra sont 320 et 288, Flash définit la largeur et la hauteur sur 288 ; en attribuant la même valeur à ces propriétés, Flash conserve la proportion 1:1 que vous avez demandée. Pour déterminer les valeurs affectées à ces propriétés une fois la sélection du mode qui correspond le mieux aux valeurs que vous avez demandées par Flash, utilisez Camera.width, Camera.height, et Camera.fps. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres width:Number
Remarque : La vidéo peut être affichée quelle que soit la valeur du paramètre sensitivity. Ce paramètre détermine uniquement à quel moment et dans quelles circonstances Camera.onActivity est appelé (ce n'est pas le cas lorsque la vidéo est capturée ou affichée). ■
Les exemples suivants indiquent comment utiliser cette méthode afin de contrôler l'utilisation de la bande passante et la qualité d'image. // Ensure that no more than 8192 (8K/second) is used to send video active_cam.setQuality(8192,0); HTTP GET ou POST. L'exemple suivant montre une chaîne de serveur pour un ordinateur prenant en charge les fichiers MP3, doté d'une résolution de 1 600 x 1 200 pixels, exécutant Windows XP et Flash Player 8 (8.0.0.0) : A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t& SB=f&DEB=t&V=WIN%208%2C0%2C0%2C0&M=Macromedia%20Windows& 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. Le tableau suivant répertorie les valeurs possibles : Langue
Player) sur le disque dur de l'utilisateur. Par exemple, toute tentative de lecture d'un fichier sur le disque dur de l'utilisateur à l'aide de XML.load(), LoadMovie(), ou LoadVars.load() échouera si cette propriété est définie sur true. 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. Disponibilité : ActionScript 1.0 ; Flash Player 7
l'animation.. pour le module externe du navigateur Flash Player
L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.version);
Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Pour appliquer les filtres lors de l'exécution du clip, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters.
Les calculs sont effectués sur des valeurs de couleur non multipliées. Si le graphique d'entrée est constitué de valeurs de couleur prémultipliées, celles-ci sont automatiquement converties en valeurs de couleur non multipliées en vue de cette opération. Les deux modes optimisés suivants sont disponibles. Alpha uniquement. Quand vous passez au filtre une matrice qui ajuste uniquement le composant alpha, comme indiqué ici, le filtre optimise ses performances : 1
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é : ActionScript 1.0 ; Flash Player 8 Voir également getTransform (méthode Color.getTransform), setTransform (méthode Color.setTransform), Transform (flash.geom.Transform) été multiplié par la valeur alphaMultiplier.
à la valeur du canal de bleu après avoir été multiplié par la valeur blueMultiplier.
à la valeur du canal de vert après avoir été multiplié par la valeur greenMultiplier.
à la valeur du canal de rouge après avoir été multiplié par la valeur redMultiplier.
MovieClip._alpha, celle-ci affecte la valeur de la propriété alphaMultiplier de l'objet ColorTransform de ce clip. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur alphaMultiplier de 1 à 0,5. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.alphaMultiplier); // 1 colorTrans.alphaMultiplier = .5; trace(colorTrans.alphaMultiplier); // .5 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur blueOffset de 0 à 255. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.blueOffset); // 0 1. La valeur par défaut est 1. blueMultiplier:Number [facultatif ] - Valeur du multiplicateur de bleu, comprise entre 0 et 1. La valeur par défaut est 1.
255). La valeur par défaut est 0.
255). La valeur par défaut est 0.
0 à 255. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.redOffset); // 0 colorTrans.redOffset = 255; trace(colorTrans.redOffset); // 255 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); Transmettez une valeur à cette propriété au format : 0xRRGGBB. 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é : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur rgb à 0xFF0000. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.rgb); // 0 colorTrans.rgb = 0xFF0000; trace(colorTrans.rgb); // 16711680 trace("0x" + colorTrans.rgb.toString(16)); // 0xff0000 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { Zoom avant et Imprimer) ou créer des copies de menus. Vous pouvez lier un objet ContextMenu à un bouton, clip ou objet de champ de texte spécifique, ou à un niveau d'animation entier. Pour ce faire, il vous suffit d'utiliser la propriété menu des classes Button, MovieClip ou TextField. Pour plus d'informations sur la propriété menu, consultez Button.menu, MovieClip.menu et TextField.menu. Pour ajouter de nouveaux articles à un objet ContextMenu, vous créez un objet ContextMenuItem et vous ajoutez ensuite cet objet au tableau ContextMenu.customItems. Pour plus d'informations sur la création d'éléments de menu contextuel, consultez l'entrée de la classe ContextMenuItem. Flash Player est doté de trois types de menus contextuels : le menu standard (qui s'affiche lorsque vous cliquez avec le bouton droit de la souris dans Flash Player), le menu Edition (qui s'affiche lorsque vous cliquez avec le bouton droit de la souris sur un champ de texte sélectionnable ou modifiable), et un menu d'erreur (qui s'affiche lorsque le chargement d'un fichier SWF dans Flash Player a échoué.) Seuls les menus standard et Edition peuvent être modifiés avec la classe ContextMenu. Les éléments de menu personnalisés s'affichent toujours dans la partie supérieure du menu contextuel de Flash Player, au-dessus des éléments de menu intégrés visibles ; une barre de séparation permet de faire la distinction entre les éléments de menu intégrés et personnalisés. Vous ne pouvez pas ajouter plus de 15 éléments personnalisés à un menu contextuel. Vous ne pouvez pas supprimer l'élément de menu Paramètres dans le menu contextuel. L'élément de menu Paramètres est requis dans Flash de manière à ce que les utilisateurs puissent accéder aux paramètres relatifs à la confidentialité et à l'enregistrement des données sur leurs ordinateurs. De même, vous ne pouvez pas supprimer l'élément de menu A propos de dans le menu contextuel : celui-ci est requis de manière à ce que les utilisateurs puissent connaître la version de Flash Player qu'ils utilisent.
[facultatif ] - Référence à une fonction qui est appelée lorsque l'utilisateur clique avec le bouton droit de la souris ou maintient la touche Contrôle enfoncée, avant que le menu s'affiche. callbackFunction:Function
Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant crée un nouvel élément de menu personnalisé intitulé menuItem_cmi ayant pour titre « Send e-mail » et un gestionnaire de rappel intitulé emailHandler. Le nouvel élément de menu est ensuite ajouté à l'objet ContextMenu my_cm à l'aide du tableau customItems. Enfin, le nouveau menu est associé à un clip intitulé email_mc. Pour faire fonctionner cet exemple, créez une occurrence de clip sur votre scène et utilisez l'inspecteur des propriétés pour nommer l'occurrence email_mc. En mode Tester l'animation, le nouvel élément de menu contextuel s'affiche si vous ouvrez le menu contextuel lorsque votre pointeur survole le clip email_mc. var my_cm:ContextMenu = new ContextMenu(); var menuItem_cmi:ContextMenuItem = new ContextMenuItem("Send e-mail", emailHandler); my_cm.customItems.push(menuItem_cmi); email_mc.menu = my_cm; function emailHandler() { trace("sending email"); }
Cette méthode fonctionne en définissant tous les membres booléens de my_cm .builtInItems sur false. Vous pouvez rendre visible un élément intégré de façon sélective en définissant son membre correspondant dans my_cm .builtInItems sur true (comme illustré dans l'exemple suivant). Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant crée un nouvel objet ContextMenu, intitulé my_cm dont les éléments de menu intégrés sont masqués, à l'exception de Imprimer. L'objet Menu est associé au scénario actuel. var my_cm:ContextMenu = new ContextMenu(); my_cm.hideBuiltInItems(); my_cm.builtInItems.print = true; this.menu = my_cm; élément de menu.
Player et Paramètres. Disponibilité : ActionScript 1.0 ; Flash Player 7 Résumé des propriétés Modificateurs Propriété
Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Une convolution de matrice s'articule autour d'une matrice n par m, qui décrit la façon dont une valeur de pixels donnée dans l'image d'entrée est associée aux valeurs des pixels environnants pour obtenir une nouvelle valeur de pixels. Chaque pixel obtenu est déterminé par l'application de la matrice au pixel source correspondant et à ses pixels environnants. Pour une convolution de matrice 3 par 3, la formule suivante est utilisée pour chaque canal de couleur indépendant : dst (x, y) = ((src (x-1, y-1) * a0 + src(x, y-1) * a1.... src(x, y+1) * a7 + src (x+1,y+1) * a8) / divisor) + bias
(Object.__resolve, propriété)
0xFF0000. import import import import - Tableau de valeurs utilisé pour la transformation de matrice ; renvoie une copie. Le nombre d'éléments contenus dans le tableau doit être égal à matrixX*matrixY.
égalise l'intensité de couleurs globale du résultat. La valeur 0 est ignorée ; elle est remplacée par la valeur par défaut. divisor:Number
Résumé des propriétés Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Si le fichier de définition spécifié par le paramètre name est introuvable, une valeur undefined est renvoyée. Si la définition XML des actions personnalisées spécifiée par le paramètre name est localisée, elle est lue intégralement et renvoyée sous forme de chaîne. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres name:String
Si un fichier d'actions personnalisées portant le nom name existe déjà, il est remplacé. Si le répertoire Configuration/ActionsPanel/CustomActions n'existe pas lorsque cette méthode est appelée, il est créé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres name:String
Résumé des propriétés Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Renvoie les secondes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure universelle. Renvoie l'année de cette Date conformément à l'heure universelle. Renvoie l'année de l'objet Date spécifié, conformément à l'heure locale.
Disponibilité : ActionScript 1.0 ; Flash Player 5 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 représente pas l'année 1999 mais l'an 99.
L'appel de cette méthode ne modifie pas les autres champs de l'objet Date spécifié mais Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l'appel de cette méthode. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres year:Number - Entier représentant l'année spécifiée en tant qu'année entière à quatre chiffres, telle que 2000.
L'utilisation de filtres dépend de l'objet auquel vous appliquez le filtre. Pour appliquer des filtres aux clips lors de l'exécution, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters. Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode L'appel applyFilter() sur un objet BitmapData modifie ce dernier et ne peut pas être annulé.
Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Le filtre utilise la formule suivante : dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) * scaleY) / 256]
(x - mapPoint.x ,y - mapPoint.y). L'image de mappage utilisée par le filtre est redimensionnée afin de correspondre au redimensionnement de la scène. Elle n'est en aucun cas redimensionnée lorsque l'objet l'est.
Elle acquiert la couleur de (x,y) dans le mappage de la bitmap
mappage du déplacement. mapPoint:Point
- Multiplicateur à utiliser pour mettre à l'échelle le résultat du déplacement y à partir du calcul de mappage.
Utilisez ce paramètre si le mode est défini sur "color". Exemple La fonction constructeur suivante crée une nouvelle occurrence du filtre : myFilter = new flash.filters.DisplacementMapFilter (mapBitmap, mapPoint, componentX, componentY, scale, [mode], [color], [alpha])
L'utilisation de filtres dépend de l'objet auquel vous appliquez le filtre. ■
Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Ce filtre prend en charge le redimensionnement de la scène. Mais le redimensionnement général, la rotation et l'inclinaison ne sont pas gérés. Si l'objet lui-même est redimensionné (si _xscale et _yscale ne sont pas à 100%), l'effet de filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom avant sur la scène. Un filtre ne peut s'appliquer si l'image résultante dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, si vous faites un zoom avant sur un grand clip auquel un filtre est appliqué, le filtre est désactivé si l'image résultante dépasse la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8
L'exemple suivant change la propriété angle sur une occurrence de clip existant quand un utilisateur clique dessus.
Dans l'exemple suivant, une fonction renvoie un message spécifié en fonction des paramètres entrés dans theNum. Si les deux nombres peuvent être divisés, la valeur SUCCESS et le nombre s'affichent. Des erreurs spécifiques s'affichent si vous essayez de diviser par 0 ou si vous entrez un seul paramètre : function divideNum(num1:Number, num2:Number):Number { if (isNaN(num1) || isNaN(num2)) { throw new Error("divideNum function requires two numeric parameters."); } else if (num2 == 0) { throw new Error("cannot divide by zero."); L'utilisation de ExternalInterface est recommandée pour les communications entre JavaScript et ActionScript. A partir d'ActionScript, vous pouvez appeler toutes les fonctions JavaScript sur une page HTML, passer tous les arguments de tout type de données et recevoir une valeur de retour pour un appel. Depuis JavaScript sur la page HTML, vous pouvez appeler une fonction ActionScript dans Flash Player. La fonction ActionScript peut renvoyer une valeur que JavaScript reçoit immédiatement comme valeur de retour de l'appel. ExternalInterface est pris en charge par les combinaisons suivantes de navigateurs et de systèmes d'exploitation : Navigateur
JavaScript. Il n'est pas nécessaire que ce nom corresponde au nom actuel de la méthode ActionScript.
Remarque : Evitez d'utiliser d'autres méthodes d'accès à l'objet plug-in, telles que document.getElementById("pluginName") ou document.all.pluginName, parce que ces autres méthodes ne fonctionnent pas régulièrement sur tous les navigateurs. <form> <input type="button" onclick="callExternalInterface()" value="Call ExternalInterface" /> Si le conteneur est un autre conteneur de type ActiveX, cette méthode émet un événement ayant le nom spécifié ; le conteneur traite alors l'événement. Si le conteneur renferme le plug-in Netscape, vous pouvez soit écrire la prise en charge personnalisé de la nouvelle interface NPRuntime, soit intégrer un contrôle HTML et intégrer Flash Player dans le contrôle HTML. Si vous intégrez un contrôle HTML, vous pouvez communiquer avec Flash Player via une interface JavaScript qui dialogue avec l'application conteneur native. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres methodName:String - Nom de la
[facultatif ] - Tout paramètre à passer à la fonction. Vous pouvez ne spécifier aucun paramètre ou en spécifier plusieurs en les séparant par des virgules. Ces paramètres peuvent être de tout type de donnée ActionScript. Si vous faites appel à une fonction JavaScript, les types ActionScript sont automatiquement rentrés en ordre dans les types JavaScript. Si vous faites appel à un autre conteneur ActiveX, les paramètres sont encodés dans le message de requête.
Pendant une opération de téléchargement, la propriété name est complétée quand onSelect a été invoqué ; toutes les autres propriétés sont complétées quand onComplete a été invoqué. La méthode browse() ouvre une boîte de dialogue d'un système d'exploitation qui invite l'utilisateur à sélectionner un fichier local pour le télécharger. La méthode FileReference.browse() permet à l'utilisateur de choisir un seul fichier ; la méthode FileReferenceList.browse() lui permet d'en sélectionner plusieurs. Lorsque l'appel de la méthode browse() a réussi, appelez la méthode FileReference.upload() pour charger un fichier à la fois. La méthode FileReference.download() invite l'utilisateur à sélectionner un emplacement pour enregistrer le fichier et initie le téléchargement à partir d'une URL distante.
Les classes FileReference et FileReferenceList ne fournissent pas de méthode d'authentification. Pour les serveurs ayant besoin d'une authentification, vous pouvez télécharger des fichiers avec le plug-in navigateur Flash Player , mais le chargement (sur tous les lecteurs) et le téléchargement (sur les lecteurs autonomes ou externes) échouent. Utilisez les écouteurs d'événements FileReference afin de déterminer si les opérations ont réussi, ou non, et pour traiter les erreurs. Pour les opérations de téléchargement (montantes ou descendantes), un fichier SWF peut accéder aux fichiers uniquement à l'intérieur de son propre domaine, ce qui comprend tous les domaines spécifiés par un fichier de régulation inter-domaines. Si le SWF qui initialise le téléchargement n'appartient pas au même domaine que le serveur de fichiers, vous devez placer un fichier de régulation sur le serveur de fichiers. Pendant que les appels aux méthodes FileReference.browse(), FileReferenceList.browse(), ou FileReference.download() s'exécutent, la lecture du fichier SWF s'arrête sur les plate-formes suivantes : le plug-in Flash Player pour Mac OS X, le Flash Player externe pour Macintosh et le lecteur autonome pour Mac OS X 10.1 et versions ultérieures. Le fichier SWF continue à s'exécuter sur tous les lecteurs pour Windows et sur le lecteur autonome pour Macintosh sur Mac OS X 10.2 et versions ultérieures Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée un objet FileReference qui invite l'utilisateur à sélectionner une image ou un fichier texte à télécharger. Il écoute également les événements possibles. import flash.net.FileReference; var allTypes:Array = new Array(); var imageTypes:Object = new Object(); imageTypes.description = "Images (*.jpg, *.jpeg, *.gif, *.png)"; imageTypes.extension = "*.jpg; *.jpeg; *.gif; *.png"; allTypes.push(imageTypes); var textTypes:Object = new Object(); textTypes.description = "Text Files (*.txt, *.rtf)"; textTypes.extension = "*.txt;*.rtf"; Vous pouvez remplir un tableau des types de fichiers pour déterminer lesquels seront affichés par la boîte de dialogue. Disponibilité : ActionScript 1.0 ; Flash Player 8
Une liste de types de fichiers suivis de leur extension Windows uniquement. Chaque élément du tableau doit contenir une chaîne décrivant le type de fichier et une liste, séparée par des points-virgules, des extensions de fichiers Windows, chaque extension étant précédée d'un caractère joker (*). La syntaxe de chaque élément se présente comme suit : [{description: "string describing the first set of file types", extension: "semicolon-delimited list of file extensions"}]
[{description: "Images", extension: "*.jpg;*.gif;*.png"}, {description: Macintosh est utilisée pour filtrer les fichiers, si elle est fournie. Si vous ne fournissez pas de liste de types de fichiers Macintosh, c'est la liste d'extensions Windows qui est utilisée.
Invoqué quand l'utilisateur ferme la boîte de dialogue en cliquant sur Annuler ou en la fermant. onSelect Invoqué quand l'utilisateur réussit à choisir un élément à télécharger dans la boîte de dialogue. Exemple L'exemple suivant affiche une boîte de dialogue dans laquelle l'utilisateur peut choisir un fichier image à télécharger. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("Opened " + file.name); } listener.onCancel = function(file:FileReference):Void { trace("User cancelled"); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); fileRef.browse(); Une fois le fichier téléchargé, les propriétés de l'objet FileReference sont renseignées par les propriétés du fichier local et l'écouteur onComplete est invoqué. Une seule session browse() ou download() peut être effectuée à la fois (car une seule boîte de dialogue peut être appelée à la fois). Cette méthode prend en charge le téléchargement de tout type de fichier, via HTTP ou HTTPS. Vous pouvez également envoyer des données au serveur avec l'appel de download() en ajoutant des paramètres à l'URL pour que le script serveur les analyse. Remarque : Si votre serveur requiert une authentification d'utilisateur, seuls les fichiers SWF s'exécutant dans un navigateur, (c'est-à-dire utilisant le plug-in du navigateur ou le contrôle ActiveX), peuvent fournir une boîte de dialogue pour demander à l'utilisateur un nom et un mot de passe d'authentification, ceci uniquement pour les téléchargements. Concernant les chargements effectués via le plug-in ou le contrôle ActiveX et le chargement/téléchargement via les lecteurs autonomes ou externes, le transfert de fichiers échoue. Pour utiliser cette méthode, tenez compte du modèle de sécurité de Flash Player : ■
Exemple L'exemple suivant tente de télécharger un fichier par la méthode download. Veuillez noter qu'il y a des écouteurs pour tous les événements. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("onSelect: " + file.name); } listener.onCancel = function(file:FileReference):Void { trace("onCancel"); } listener.onOpen = function(file:FileReference):Void { L'exemple suivant crée un objet FileReference comprenant un écouteur pour chaque événement possible, y compris onHttpError. Cet écouteur est déclenché uniquement en cas d'échec du chargement dû à une erreur HTTP. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("onSelect: " + file.name); if(!file.upload("http://www.yourdomain.com/ yourUploadHandlerScript.cfm")) { trace("Upload dialog failed to open."); } Quand onSelect est invoqué après un appel browse(), Flash Player peut lire toutes les propriétés d'un objet FileReference, parce que le fichier choisi est dans le système local de fichiers. Quand onSelect est invoqué après un appel download(), Flash Player peut lire uniquement la propriété name, parce que le fichier n'a pas encore été téléchargé dans le système local de fichiers au moment où onSelect est invoqué. Quand le fichier a été téléchargé et onComplete invoqué, alors Flash Player peut lire toutes les autres propriétés de l'objet FileReference. Disponibilité : ActionScript 1.0 ; Flash Player 8
Les écouteurs reçoivent des événements permettant d'indiquer la progression du chargement, s'il a réussi ou échoué. Bien que vous puissiez utiliser l'objet FileReferenceList permettant aux utilisateurs un choix multiple de fichiers à charger, vous devez charger les fichiers un par un. Pour cela, faites une itération dans le tableau FileReferenceList.fileList des objets FileReference. Le fichier est chargé vers l'URL passée dans le paramètre url. L'URL doit être un script serveur configuré pour accepter les téléchargements montants. Flash Player télécharge les fichiers en utilisant la méthode HTTP POST. Le script serveur qui gère le chargement doit attendre une requête POST comportant les éléments suivants : ■
Pour utiliser cette méthode, tenez compte du modèle de sécurité de Flash Player : ■
Appelé lorsqu'un envoi échoue en raison d'une erreur HTTP. onIOError Invoqué dans l'un des cas suivants : ■
Une seule session browse() ou download() peut être effectuée à la fois sur un objet FileReferenceList (car une seule boîte de dialogue peut être appelée à la fois). Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres typelist:Array [facultatif ] - Tableau de types de fichiers utilisés pour filtrer les fichiers qui s'affichent dans la boîte de dialogue. Si vous omettez ce paramètre, tous les fichiers s'affichent. Si vous incluez ce paramètre, le tableau doit contenir un ou plusieurs éléments placés entre accolades { }. Vous pouvez appliquer l'un des deux formats au tableau :
[{description: "Images", extension: "*.jpg;*.gif;*.png"}, {description: Windows qui est utilisée.
Invoqué quand l'utilisateur réussit à choisir un élément à télécharger dans la boîte de dialogue. Exemple L'exemple suivant illustre la méthode browse(). import flash.net.FileReferenceList; var allTypes:Array = new Array(); var imageTypes:Object = new Object(); imageTypes.description = "Images (*.JPG;*.JPEG;*.JPE;*.GIF;*.PNG;)"; imageTypes.extension = "*.jpg; *.jpeg; *.jpe; *.gif; *.png;"; allTypes.push(imageTypes); var textTypes:Object = new Object(); textTypes.description = "Text Files (*.TXT;*.RTF;)"; textTypes.extension = "*.txt; *.rtf"; allTypes.push(textTypes); var fileRef:FileReferenceList = new FileReferenceList(); fileRef.browse(allTypes);
Les propriétés des objets FileReference sont décrites dans la documentation relative à la classe FileReference. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple Renvoie la valeur spécifiée en tant que valeur renvoyée par la fonction appelée. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres thisObject:Object
%), l'effet de filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom sur la scène. Un filtre ne sera pas appliqué si l'image obtenue dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, lorsque vous effectuez un zoom avant sur un clip de grande taille auquel un filtre est appliqué, le filtre sera désactivé si l'image obtenue dépasse la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également applyFilter (méthode BitmapData.applyFilter), cacheAsBitmap (propriété Button.cacheAsBitmap), filters (propriété Button.filters), DropShadowFilter 255. La valeur par défaut est 2. strength:Number
(au niveau des bords extérieurs de l'objet). knockout:Boolean [facultatif ] - Spécifie si l'objet a un effet de poinçonnage. La valeur true applique un effet de poinçonnage qui rend le remplissage de l'objet transparent et révèle la couleur d'arrière-plan du document. La valeur par défaut est false (pas d'effet de poinçonnage).
L'exemple suivant crée une nouvelle instance GlowFilter et l'applique à un rectangle plat. import flash.filters.GlowFilter; var rect:MovieClip = createRectangle(100, 100, 0x003366, "gradientGlowFilterExample"); Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo durant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Ce filtre prend en charge le redimensionnement de la scène. Toutefois, le redimensionnement général, la rotation et l'inclinaison ne sont pas pris en charge ; si l'objet est redimensionné (si le redimensionnement _xscale et le redimensionnement _yscale ne sont pas définis sur 100 %), l'effet de filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom sur la scène. Un filtre ne sera pas appliqué si l'image obtenue dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, lorsque vous effectuez un zoom avant sur un clip de grande taille auquel un filtre est appliqué, le filtre sera désactivé si l'image obtenue dépasse la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également ratios (propriété GradientBevelFilter.ratios), applyFilter (méthode BitmapData.applyFilter), BevelFilter (flash.filters.BevelFilter), filters La distance de décalage.
Les propriétés colors, alphas et ratios sont toutes liées. Le premier élément du tableau colors correspond au premier élément du tableau alphas, du tableau ratios, etc. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant montre comment définir la propriété alphas sur une entité existante. import flash.filters.GradientBevelFilter; var mc:MovieClip = setUpFilter("alphasExample"); mc.onPress = function() { var arr:Array = this.filters; var alphas:Array = [.2, 0, .2]; arr[0].alphas = alphas; Les propriétés colors, alphas et ratios sont toutes liées. Le premier élément du tableau colors correspond au premier élément du tableau alphas, du tableau ratios, etc.
2 (qualité moyenne) et 3 (qualité élevée). Les rendus des filtres de valeurs inférieures sont obtenus plus rapidement. type:String
Pour comprendre comment les couleurs du biseau dégradé sont appliquées, considérez les couleurs que vous souhaitez intégrer à votre biseau dégradé. Un biseau simple possède une couleur d'éclairage et une couleur d'ombre. Un biseau dégradé possède un dégradé éclairé et un dégradé ombré. Supposons que l'éclairage apparaît dans l'angle supérieur gauche et l'ombre, dans l'angle inférieur droit. Et imaginons que l'une des utilisations possibles du filtre comporte quatre couleurs dans la zone éclairée et quatre dans l'ombre. En plus de l'éclairage et de l'ombre, le filtre utilise une couleur de remplissage de base qui apparaît à la jonction des zones éclairées et ombrées. Le nombre total de couleurs est donc neuf, et le nombre d'éléments correspondants dans le tableau des rapports, également neuf. Si vous souhaitez obtenir un dégradé composé de bandes de différentes couleurs qui se mêlent les unes aux autres, chaque valeur de ratio définit l'emplacement de la couleur sur le rayon du dégradé, 0 représentant le point le plus éloigné et 255, le point le plus proche du centre du dégradé. En général, la valeur moyenne, 128, constitue la valeur de remplissage de base. Pour obtenir l'effet de biseau illustré ci-dessous, affectez les valeurs de ratio comme suit, en vous aidant des neuf couleurs d'exemple : ■
Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo durant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Ce filtre prend en charge le redimensionnement de la scène. Toutefois, le redimensionnement général, la rotation et l'inclinaison ne sont pas pris en charge ; si l'objet est redimensionné (si le redimensionnement _xscale et le redimensionnement _yscale ne sont pas définis sur 100 %), l'effet de filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom sur la scène. Un filtre ne sera pas appliqué si l'image obtenue dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, lorsque vous effectuez un zoom avant sur un clip de grande taille auquel un filtre est appliqué, le filtre sera désactivé si l'image obtenue dépasse la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également ratios (propriété GradientGlowFilter.ratios), applyFilter (méthode BitmapData.applyFilter), cacheAsBitmap (propriété Button.cacheAsBitmap), filters (propriété Button.filters), GlowFilter (flash.filters.GlowFilter), cacheAsBitmap (propriété MovieClip.cacheAsBitmap), filters (propriété Les propriétés colors, alphas et ratios sont toutes liées. Le premier élément du tableau colors correspond au premier élément du tableau alphas, du tableau ratios, etc. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété alphas sur un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.GradientGlowFilter; var mc:MovieClip = createGradientGlowRectangle("GlowAlphas"); mc.onRelease = function() { var filter:GradientGlowFilter = this.filters[0]; var alphas:Array = filter.alphas; alphas.pop(); Les propriétés colors, alphas et ratios sont toutes liées. Le premier élément du tableau colors correspond au premier élément du tableau alphas, du tableau ratios, etc. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété colors sur un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.GradientGlowFilter; (pas d'effet de poinçonnage).
L'exemple suivant crée un nouveau filtre de rayonnement dégradé, affecte ses valeurs et l'applique à un rectangle plat. import flash.filters.GradientGlowFilter; var art:MovieClip = createRectangle(100, 100, 0x003366, Les propriétés colors, alphas et ratios sont toutes liées. Le premier élément du tableau colors correspond au premier élément du tableau alphas, du tableau ratios, etc. Considérez le filtre de rayonnement dégradé comme un rayonnement émanant du centre de l'objet (si la valeur distance est définie sur 0), avec des bandes de couleurs se mêlant les unes aux autres pour constituer le dégradé. La première couleur du tableau colors est la couleur la plus proche de l'extérieur du rayonnement. La dernière couleur est la plus au centre du rayonnement.
= [1, 1, 1, 1, 1]; var ratios = [0, 32, 64, 128, 225]; var myGGF = new GradientGlowFilter(0, 0, colors, alphas, ratios, 50, 50, 1, 2, "full", false);
à l'arrière-plan blanc du document ; puis définissez la propriété type sur "outer" ou "inner". Observez le résultat sur les illustrations suivantes.
Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété ratios sur un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.GradientGlowFilter; var mc:MovieClip = createGradientGlowRectangle("GlowRatios"); mc.onRelease = function() { var filter:GradientGlowFilter = this.filters[0]; var ratios:Array = filter.ratios; ratios.shift(); ratios.unshift(40); filter.ratios = ratios; this.filters = new Array(filter);
** Sous Macintosh, ces méthodes sont uniquement prises en charge pour le japonais ; elles ne sont pas prises en charge pour les IME tiers. Disponibilité : ActionScript 1.0 ; Flash Player 8
utiliser avec setConversionMode() et getConversionMode().
JAPANESE_KATAKANA_HA Une chaîne ayant la valeur LF:String
Kanji, la chaîne de lecture correspond à la valeur Hiragana d'origine.
Résumé des propriétés Modificateurs Propriété
Disponibilité : ActionScript 1.0 ; Flash Player 5 Renvoie Number- La valeur ASCII de la dernière touche enfoncée. Cette méthode renvoie 0 si aucune touche n'a été enfoncée ou relâchée ou si le code n'est pas accessible pour des raisons de sécurité.
Key.getCode(). var keyListener:Object = new Object(); keyListener.onKeyDown = function() { trace("For the last key typed:"); trace("\tThe Key code is: "+Key.getCode()); trace("\tThe ASCII value is: "+Key.getAscii()); trace(""); }; Key.addListener(keyListener); Key.getAscii() fait la distinction entre les minuscules et les majuscules, contrairement à Key.getCode(). var keyListener:Object = new Object(); keyListener.onKeyDown = function() { trace("For the last key typed:"); trace("\tThe Key code is: "+Key.getCode()); trace("\tThe ASCII value is: "+Key.getAscii()); trace(""); }; Key.addListener(keyListener); Formation à ActionScript 2.0 dans Flash. Disponibilité : ActionScript 1.0 ; Flash Player 8 Renvoie Boolean - La valeur true si la dernière touche enfoncée est accessible. Si l'acccès n'est pas autorisé, cette méthode renvoie false.
L'exemple suivant crée deux champs de texte mis à jour lorsque les touches Verr Maj et Verr num sont activées. Chaque champ de texte affiche true lorsque la touche est activée et false lorsqu'elle est désactivée. this.createTextField("capsLock_txt", this.getNextHighestDepth(), 0, 0, 100, 22); capsLock_txt.autoSize = true; capsLock_txt.html = true; this.createTextField("numLock_txt", this.getNextHighestDepth(), 0, 22, 100, 22); numLock_txt.autoSize = true; numLock_txt.html = true; // var keyListener:Object = new Object(); keyListener.onKeyDown = function() { capsLock_txt.htmlText = "<b>Caps Lock:</b> "+Key.isToggled(Key.CAPSLOCK); numLock_txt.htmlText = "<b>Num Lock:</b> "+Key.isToggled(144); 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é : ActionScript 1.0 ; Flash Player 6 Voir également
Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres queryString:String
Il s'agit du même format que celui utilisé par loadVariables(). 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(). Remarque : Si un fichier en cours de chargement contient des caractères non-ASCII (dans un grand nombre de langues autres que l'anglais), il est recommandé de sauvegarder le fichier avec le codage UTF-8 ou UTF-16 plutôt que le format non-Unicode tel que ASCII. Lorque vous utilisez cette méthode, prenez en considération le modèle de sécurité de Flash Player : Pour Flash Player 8 : ■
Sandbow du système de fichiers local et si la ressource cible se trouve dans un Sandbox du réseau.
Pour les fichiers SWF lus par une version antérieure à Flash Player 7, le paramètre 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. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres url:String - Une chaîne ; l'URL permettant de télécharger les variables. 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.
Boolean - false si aucun paramètre (null) n'est transmis ; true sinon. Utilisez le gestionnaire d'événements onLoad() pour vérifier que les données ont bien été téléchargées.
Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant charge un fichier texte et affiche les informations dans le panneau de sortie lorsque l'opération se termine. var my_lv:LoadVars = new LoadVars(); my_lv.onLoad = function(success:Boolean) { trace("LoadVars loaded successfully: "+this.loaded); }; my_lv.load("http://www.helpexamples.com/flash/params.txt"); LoadVars.onData, mais LoadVars.onLoad n'est pas appelé sauf si vous l'appelez dans votre implémentation de LoadVars.onData. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres - Une chaîne ou undefined ; les données brutes (non analysées) provenant d'un appel de méthode LoadVars.load() ou LoadVars.sendAndLoad(). Si Flash Player ne peut pas obtenir une code d'état auprès du serveur, ou s'il ne peut pas communiquer avec le serveur, la valeur 0 par défaut est transmise à votre code ActionScript. Une valeur 0 peut être générée dans un lecteur quelconque (par exemple, si une URL déformée est requise), et une valeur 0 est toujours générée par le module Flash Player lorsqu'il est exécuté dans les navigateurs suivants, qui ne transmettent pas de codes d'état HTTP au lecteur : Netscape, Mozilla, Safari, Opera, et Internet Explorer pour Macintosh. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Le code d'état HTTP renvoyé par le serveur. Par exemple, une valeur 404 indique que le serveur n'a pas détecté de correspondance pour l'URL requise. Les codes d'état HTTP sont répertoriées dans les sections 10.4 et 10.5 de la spécification HTTP à l'adresse ftp://ftp.isi.edu/in-notes/rfc2616.txt.
Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres success:Boolean - Une valeur booléenne qui indique si l'opération de chargement s'est terminée avec succès (true) ou a échoué (false).
Vous devez spécifier le paramètre target pour vous assurer que le script ou l'application sera exécuté(e) à l'URL spécifiée. Si vous omettez le paramètre target, la fonction renvoie true, mais le script ou l'application ne sera pas exécuté(e). La méthode send() est utile si vous souhaitez que la réponse du serveur : ■
Lorque vous utilisez cette méthode, prenez en considération le modèle de sécurité de Flash Player : ■
Pour plus d'informations, consultez le : ■
Flash method:String [facultatif ] - Une chaîne ; la méthode GET ou POST du protocole HTTP. La valeur par défaut est POST.
Lorque vous utilisez cette méthode, prenez en considération le modèle de sécurité de Flash Player : Pour Flash Player 8 : ■
Sandbow du système de fichiers local et si la ressource cible se trouve dans un Sandbox du réseau.
Cette méthode est similaire à XML.sendAndLoad(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres - Une chaîne ; l'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. url:String
LocalConnection.send() et LocalConnection.connect() spécifient le même nom de connexion, lc_name : LocalConnection.send()
{} allowInsecureDom Invoqué à chaque fois que receiving_lc, qui se trouve dans un fichier SWF
LocalConnection.allowInsecureDomain à la place. La situation suivante peut parfois se produire. Supposons que vous chargiez un fichier SWF enfant à partir d'un domaine différent. Vous souhaitez implémenter cette méthode de manière à ce que le fichier SWF enfant puisse effectuer des appels LocalConnection vers le fichier SWF parent, mais vous ne connaissez pas le domaine final à partir duquel est 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._url pour implémenter 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.)
Un fichier SWF publié pour Flash Player 6 peut utiliser le gestionnaire d'événements 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 version ultérieure. LocalConnection.allowDomain
Paramètres sendingDomain:String [facultatif ] - Une chaîne qui spécifie le domaine du fichier SWF contenant l'objet LocalConnection d'envoi. 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 Player renvoie connectionName à la valeur " superdomain 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 sur l'ordinateur client, la valeur affectée au superdomain est "localhost".) :connectionName",
Flash Player ajoute un préfixe au superdomaine et deux points (par exemple, "myDomain:connectionName"). Bien que cela permette de garantir que votre connexion n'entre pas en conflit avec les connexions de même nom dans d'autres domaines, 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é vers un autre domaine, le lecteur 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.
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.
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. Une chaîne dédiée à connectionName contenant deux-points n'est pas valide. Disponibilité : ActionScript 1.0 ; Flash Player 6
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é : ActionScript 1.0 ; Flash Player 6 Renvoie - Une chaîne représentant le domaine de l'emplacement du fichier SWF actuel ; pour plus d'informations, consultez la section Description.
"mydomain.com:sum" (consultez LocalConnection.connect()). LocalConnection de réception. Cela ne signifie pas que Flash a réussi à appeler la méthode spécifiée de l'objet LocalConnection de réception ; cela signifie seulement que Flash a pu envoyer la commande. Par exemple, la méthode n'est pas invoquée si l'objet LocalConnection de réception n'autorise pas les connexions à partir du domaine d'envoi ou si la méthode n'existe pas. La seule façon de s'assurer que la méthode a été invoquée consiste à demander à l'objet de réception d'envoyer une réponse à l'objet d'envoi. 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é.
La quantité de données que vous pouvez transmettre en tant que paramètres à cette commande est limitée à 40 Ko. Si la commande renvoie la valeur false mais si votre syntaxe est correcte, essayez de répartir les requêtes LocalConnection.send() en plusieurs commandes, chacune comportant moins de 40 Ko de données. Comme nous l'avons vu dans l'entrée LocalConnection.connect(), Flash ajoute le superdomaine actuel à connectionName par défaut. Si vous implémentez la communication entre différents domaines, vous devez définir connectionName dans les objets LocalConnection d'envoi et de réception de sorte que Flash n'ajoute pas le superdomaine actuel à connectionName. Pour ce faire, procédez de l'une des deux façons suivantes : ■
LocalConnection d'envoi et de réception. Dans le fichier SWF contenant l'objet de réception, utilisez LocalConnection.allowDomain pour spécifier que les connexions à partir de tous les domaines seront acceptées. Cette implémentation vous permet de stocker vos fichiers SWF d'envoi et de réception dans n'importe quel domaine.
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 à partir de tous les domaines seront acceptées.
LocalConnection de réception : vous pouvez le faire uniquement dans l'objet LocalConnection d'envoi. Lorque vous utilisez cette méthode, prenez en considération le modèle de sécurité de Flash Player. 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.
Voir également allowDomain (gestionnaire LocalConnection.allowDomain), connect (méthode LocalConnection.connect), domain (méthode LocalConnection.domain), onStatus (gestionnaire LocalConnection.onStatus) "automatically at runtime" - Flash Player remplace les ID de chaîne par les chaînes provenant du fichier XML correspondant au code de langue du système par défaut renvoyé par System.capabilities.language.
Toutes les propriétés et les méthodes disponibles sont statiques, ce qui signifie qu'elles sont accessibles via la classe mx.lang.Locale plutôt que via une occurrence de la classe. Remarque : La classe Locale est différente des autres classes de la section ActionScript 2.0 Language Reference, étant donné qu'elle ne fait pas partie de Flash Player. Etant donné que cette classe se trouve dans le chemin de classe Flash Authoring, elle est automatiquement compilée dans vos fichiers SWF. L'utilisation de la classe Locale augmente légèrement la taille du fichier SWF étant donné que la classe est compilée dans le SWF. Disponibilité : ActionScript 2,0 ; Flash Player 7
équivalente au paramètre "via ActionScript at runtime" du panneau Chaînes. Cela signifie que vous êtes responsable du chargement du fichier XML approprié pour afficher le texte. La valeur par défaut de cette propriété reflète le paramètre sélectionné pour Remplacer les chaînes dans la boîte de dialogue du panneau Chaînes : true pour "automatically at runtime" (le paramètre par défaut) et false pour « via ActionScript lors de l'exécution ». Disponibilité : ActionScript 2.0 ; Flash Player 8 Exemple L'exemple suivant utilise la propriété Locale.autoReplace pour remplir le champ de texte créé dynamiquement sur la scène avec le contenu de la chaîne IDS_GREETING du fichier XML en anglais. Dans le panneau Chaînes, cliquez sur le bouton Paramètres pour ouvrir la boîte de dialogue Paramètres. Lorsqu'elle est ouverte, vous pouvez ajouter deux langues actives : Anglais (en) et Français (fr). Définissez ensuite l'option de remplacement des chaînes sur "via ActionScript at runtime", puis cliquez sur OK. Enfin, entrez l'ID de chaîne de IDS_GREETING dans le panneau Chaînes et ajoutez du texte pour chaque langue active.
ActionScript at runtime", puis cliquez sur OK. Dans le panneau Chaînes, ajoutez l'ID de chaîne de IDS_GREETING, puis ajoutez du texte pour chaque langue active.
Locale.setLoadCallback(localeListener); lang_cb.dataProvider = Locale.languageCodeArray.sort(); lang_cb.addEventListener("change", langListener); function langListener(eventObj:Object):Void { Locale.loadLanguageXML(eventObj.target.value); XML Anglais (en). Une fois le fichier de langue chargé, la méthode localeCallback() est appelée et renseigne le champ de texte greeting_txt présent sur la scène avec le contenu de la chaîne IDS_GREETING du fichier XML. import mx.lang.Locale; Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML("en"); // create interval to check if language XML file is loaded var locale_int:Number = setInterval(checkLocaleStatus, 10); function checkLocaleStatus():Void { if (Locale.checkXMLStatus()) { clearInterval(locale_int); trace("clearing interval @ " + getTimer() + " ms"); (en) et Français (fr), définissez le bouton radio de remplacement des chaînes sur "via ActionScript at runtime", puis cliquez sur OK. Dans le panneau Chaînes, ajoutez l'ID de chaîne de IDS_GREETING, puis ajoutez du texte pour chaque langue active. import mx.lang.Locale; var defLang:String = "fr"; Locale.setDefaultLang(defLang); Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML(Locale.getDefaultLang()); function localeCallback(success:Boolean) { (fr), définissez le bouton radio de remplacement des chaînes sur "via ActionScript at runtime", puis cliquez sur OK. Dans le panneau Chaînes, ajoutez l'ID de chaîne de IDS_GREETING, puis ajoutez du texte pour chaque langue active. import mx.lang.Locale; Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML("fr"); function localeCallback(success:Boolean) { trace(success); trace(Locale.stringIDArray); // IDS_GREETING
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 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 (avec la mesure de l'angle exprimée en radians, à la place des degrees) en tant que paramètre radian. Pour calculer une valeur radian, utilisez la formule suivante : radians = degrees * Math.PI/180
Math.sin(45 * Math.PI/180)
Calcule et renvoie l'angle du point y/x en radians, lorsqu'il est mesuré dans le sens inverse des aiguilles d'une montre à partir de l'axe x d'un cercle (où 0,0 représente le centre du cercle). Renvoie la valeur maximale du nombre ou de l'expression spécifié(e). Calcule et renvoie le cosinus de l'angle spécifié en radians. Renvoie la valeur de la base du logarithme népérien (e), à la puissance de l'exposant spécifié dans le paramètre x.
Math.log() par Math.LOG10E pour obtenir le logarithme en base 10. Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple Cet exemple indique comment obtenir le logarithme en base 10 d'un nombre : trace(Math.log(1000) * Math.LOG10E); // Output: 3 Math.log() par Math.LOG2E pour obtenir le logarithme en base 2. Disponibilité : ActionScript 1.0 ; Flash Player 5
Associés, ces types de transformation sont connus sous le nom de transformations affines. Les transformations affines préservent la rectitude des lignes au cours de la transformation ; en outre, les lignes parallèles restent parallèles.
La classe Matrix prend en charge les quatre principaux types de fonctions de transformation : la translation, le redimensionnement, la rotation et l'inclinaison. Trois de ces fonctions font appel à des méthodes spécialisées, tel que décrit dans le tableau ci-dessous. Transformation Méthode Translation (déplacement) Renvoie une valeur de texte donnant la liste des propriétés de l'objet Matrix.
transformation soit de déplacer un objet sur les axes x et y.
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é : ActionScript 1.0 ; Flash Player 8 Paramètres m:flash.geom.Matrix
sera décalée de la moitié du paramètre width. La valeur par défaut est 0. [facultatif ] - La distance en pixels à translater vers le bas sur l'axe y. Cette valeur sera décalée de la moitié du paramètre height. La valeur par défaut est 0.
Paramètres sx:Number être utilisée de façon restreinte sans le serveur, par exemple pour transmettre le son à partir de votre microphone via les haut-parleurs de votre système local. Attention : Flash Player affiche une boîte de dialogue Confidentialité permettant à l'utilisateur d'autoriser ou de refuser l'accès au microphone. Assurez-vous que la taille de votre scène est d'au moins 215 x 138 pixels ; il s'agit de la taille minimale requise par Flash pour afficher la boîte de dialogue. Les utilisateurs et les administrateurs peuvent également désactiver l'accès au microphone au niveau de chaque site ou de manière globale. Pour créer ou référencer un objet Microphone, utilisez la méthode Microphone.get(). Disponibilité : ActionScript 1.0 ; Flash Player 6
Récupère un tableau de chaînes reflétant les noms de tous les périphériques de capture de son disponibles sans afficher le panneau Paramètres de contrôle de Flash Player. Cadence à laquelle le microphone capture le son, en kHz. Entier spécifiant le volume sonore requis pour activer le microphone et invoquer Microphone.onActivity(true).
Microphone.onActivity(false) est appelé.
été appelé, cette propriété est définie sur -1. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant affiche le niveau d'activité du microphone actuel dans une occurrence ProgressBar intitulée activityLevel_pb. var activityLevel_pb:mx.controls.ProgressBar; activityLevel_pb.mode = "manual"; activityLevel_pb.label = "Activity Level: %3%%"; activityLevel_pb.setStyle("themeColor", "0xFF0000"); this.createEmptyMovieClip("sound_mc", this.getNextHighestDepth()); var active_mic:Microphone = Microphone.get(); sound_mc.attachAudio(active_mic); this.onEnterFrame = function() { activityLevel_pb.setProgress(active_mic.activityLevel, 100); 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également setGain (méthode Microphone.setGain)
Microphone.get(), par exemple lorsque vous exécutez MovieClip.attachAudio(), Flash Player affiche une boîte de dialogue Confidentialité permettant à l'utilisateur d'autoriser ou de refuser l'accès au microphone. (Assurez-vous que la taille de votre scène est d'au moins 215 x 138 pixels ; il s'agit de la taille minimale requise par Flash pour afficher la boîte de dialogue.) Lorsque l'utilisateur répond à cette boîte de dialogue, le gestionnaire d'événements Microphone.onStatus renvoie un objet d'informations qui indique la réponse de l'utilisateur. Pour déterminer si l'utilisateur a refusé ou autorisé l'accès à la caméra sans traiter ce gestionnaire d'événements, utilisez Microphone.muted. L'utilisateur peut également spécifier des paramètres de confidentialité permanents pour un domaine spécifique. Pour ce faire, il lui suffit de cliquer avec le bouton droit (Windows) ou d'appuyer sur la touche Contrôle (Macintosh) lors de la lecture d'un fichier SWF, de pointer sur Paramètres, d'ouvrir le panneau Confidentialité, puis de sélectionner Mémoriser. Vous ne pouvez pas utiliser ActionScript pour définir la valeur Autoriser ou Refuser d'un utilisateur, mais vous pouvez afficher le panneau Confidentialité pour l'utilisateur via System.showSettings(0). Si l'utilisateur sélectionne Mémoriser, Flash Player n'affiche plus la boîte de dialogue Confidentialité pour les fichiers SWF de ce domaine. Si Microphone.get() renvoie la valeur null, cela signifie que le microphone est utilisé par une autre application ou qu'aucun microphone n'est installé sur le système. Pour déterminer si un microphone est installé, utilisez Microphones.names.length. Pour afficher le panneau Paramètres du microphone de Flash Player, qui permet à l'utilisateur de choisir le microphone référencé par Microphone.get(), utilisez System.showSettings(2). Disponibilité : ActionScript 1.0 ; Flash Player 6
2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également obtenir (méthode Microphone.get), index (propriété Microphone.index), muted (propriété microphone.muted), names (propriété Microphone.names), onStatus 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également obtenir (méthode Microphone.get), names (propriété Microphone.names)
Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant affiche des informations sur le(s) périphérique(s) de capture du son présent(s) sur votre système informatique, y compris un tableau de noms et le périphérique par défaut. var status_ta:mx.controls.TextArea; status_ta.html = false; status_ta.setStyle("fontSize", 9); var microphone_array:Array = Microphone.names; var active_mic:Microphone = Microphone.get(); status_ta.text = "The default device is: "+active_mic.name+newline+newline; status_ta.text += "You have "+microphone_array.length+" device(s) installed."+newline+newline; for (var i = 0; i<microphone_array.length; i++) { status_ta.text += "["+i+"] "+microphone_array[i]+newline; } 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également setSilenceLevel (méthode Microphone.setSilenceLevel)
Pour plus d'informations, consultez Microphone.get(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres infoObject:Object
2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également obtenir (méthode Microphone.get), muted (propriété microphone.muted), showSettings (méthode System.showSettings), onStatus (gestionnaire System.onStatus) 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également setRate (méthode Microphone.setRate)
MovieClip.getNextHighestDepth(). Voir également gain (propriété Microphone.gain), setUseEchoSuppression (méthode microphone.setUseEchoSuppression)
MovieClip.getNextHighestDepth(). Voir également rate (propriété Microphone.rate)
MovieClip.getNextHighestDepth().
La suppression de l'écho vise à réduire les effets de la réaction acoustique créée lorsque le son qui sort du haut-parleur est capté par le microphone sur le même ordinateur. (Elle diffère de l'annulation de l'écho qui supprime entièrement la réaction acoustique.) En général, il est recommandé de supprimer l'écho lorsque le son capturé est lu via les hautparleurs, et non par le casque, sur le même ordinateur. Si votre fichier SWF autorise les utilisateurs à spécifier le périphérique de sortie audio, il peut être souhaitable d'appeler Microphone.setUseEchoSuppression(true) s'ils précisent qu'ils utilisent les haut-parleurs et qu'ils ont également l'intention d'utiliser le microphone. Les utilisateurs peuvent également ajuster ces paramètres dans le panneau Paramètres du microphone de Flash Player. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres - Valeur booléenne indiquant s'il convient d'utiliser la suppression de l'écho (true) ou non (false). useEchoSuppression:Boolean
MovieClip.getNextHighestDepth(). Voir également setUseEchoSuppression (méthode microphone.setUseEchoSuppression), useEchoSuppression (propriété Microphone.useEchoSuppression)
étant silencieux ou non. Sinon, elle affiche le niveau d'activité du flux continu. var silenceLevel_pb:mx.controls.ProgressBar; var silenceLevel_nstep:mx.controls.NumericStepper; this.createEmptyMovieClip("sound_mc", this.getNextHighestDepth()); var active_mic:Microphone = Microphone.get(); sound_mc.attachAudio(active_mic); silenceLevel_pb.label = "Activity level: %3"; 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également gain (propriété Microphone.gain), setSilenceLevel (méthode Microphone.setSilenceLevel) 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth().
2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également setUseEchoSuppression (méthode microphone.setUseEchoSuppression)
Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également show (méthode Mouse.show), _xmouse (propriété MovieClip._xmouse), _ymouse (propriété MovieClip._ymouse) L'exemple suivant a recours à l'API de dessin pour dessiner un rectangle lorsque l'utilisateur clique avec la souris, fait glisser le pointeur et relâche le bouton pendant la période d'exécution. this.createEmptyMovieClip("canvas_mc", this.getNextHighestDepth()); var mouseListener:Object = new Object(); mouseListener.onMouseDown = function() { this.isDrawing = true; this.orig_x = _xmouse; this.orig_y = _ymouse; this.target_mc = canvas_mc.createEmptyMovieClip("", canvas_mc.getNextHighestDepth()); }; mouseListener.onMouseMove = function() { if (this.isDrawing) { this.target_mc.clear(); this.target_mc.lineStyle(1, 0xFF0000, 100); this.target_mc.moveTo(this.orig_x, this.orig_y); this.target_mc.lineTo(_xmouse, this.orig_y); this.target_mc.lineTo(_xmouse, _ymouse); this.target_mc.lineTo(this.orig_x, _ymouse); this.target_mc.lineTo(this.orig_x, this.orig_y); 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth().
Une application Flash ne peut contrôler que les événements de souris qui se produisent dans son focus. Une application Flash ne peut pas détecter les événements de souris qui se produisent dans une autre application. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant utilise le pointeur de la souris en tant qu'outil pour dessiner des lignes avec onMouseMove et l'API de dessin. L'utilisateur trace une ligne en faisant glisser le pointeur de la souris. this.createEmptyMovieClip("canvas_mc", this.getNextHighestDepth()); var mouseListener:Object = new Object(); mouseListener.onMouseDown = function() { this.isDrawing = true; canvas_mc.lineStyle(2, 0xFF0000, 100); canvas_mc.moveTo(_xmouse, _ymouse); }; mouseListener.onMouseMove = function() { if (this.isDrawing) { canvas_mc.lineTo(_xmouse, _ymouse); 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). L'exemple suivant masque le pointeur standard de la souris et définit les positions x et y de l'occurrence de clip pointer_mc sur les positions x et y du pointeur. Crée un clip et définit son identifiant Linkage sur pointer_id. Ajoute le code ActionScript suivant à l'image 1 du scénario : // to use this script you need a symbol // in your library with a Linkage Identifier of "pointer_id". this.attachMovie("pointer_id", "pointer_mc", this.getNextHighestDepth()); 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également addListener (méthode Mouse.addListener)
}; mouseListener.onMouseMove = function() { if (this.isDrawing) { canvas_mc.lineTo(_xmouse, _ymouse); 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également addListener (méthode Mouse.addListener)
Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres [facultatif ] - Nombre indiquant combien de lignes il convient de faire défiler chaque fois que l'utilisateur fait tourner la molette de la souris. Une valeur delta positive indique un défilement vers le haut ; une valeur négative indique un défilement vers le bas. Les valeurs types sont comprises entre 1 et 3 ; un défilement plus rapide peut générer des valeurs supérieures. delta:Number
à delta. scrollTarget:String
L'exemple suivant indique comment créer un objet listener qui réagisse aux événements de la molette de la souris. Dans cet exemple, la coordonnée x d'un objet clip appelé clip_mc change dès que l'utilisateur utilise la molette de la souris : var mouseListener:Object = new Object(); mouseListener.onMouseWheel = function(delta) { clip_mc._x += delta; } 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également addListener (méthode Mouse.addListener), mouseWheelEnabled (propriété TextField.mouseWheelEnabled) 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth().
Aucune méthode constructeur n'est requise pour créer un clip. Vous disposez de trois méthodes pour créer des occurrences de clip : ■
Disponibilité : ActionScript 1.0 ; Flash Player 3
déjà occupée par un clip.
sont les valeurs minimales et maximales du clip, à partir du paramètre bounds, ce qui exclut tout tracé sur les formes.
Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple Le code suivant définit la propriété _alpha d'un clip créé de façon dynamique et appelé sur 50 % lorsque la souris le survole. Ajoutez le code ActionScript suivant à votre fichier FLA ou AS :
MovieClip.getNextHighestDepth(). Voir également _alpha (propriété Button._alpha), _alpha (propriété TextField._alpha), - Objet qui contient les données audio à lire. Les valeurs possibles sont un objet Microphone, un objet NetStream permettant de lire un fichier FLV et false (arrête la lecture des données audio).
MovieClip.getNextHighestDepth(). Voir également Microphone, play (méthode NetStream.play), Sound, attachVideo (méthode Lorsque vous associez un bitmap, vous pouvez spécifier des paramètres pixelSnapping et smoothing pour affecter l'apparence du bitmap. Les objets associés à un clip ne sont plus accessibles. Les paramètres depth, pixelSnapping,et doivent être définis lors de l'appel de la méthode attachBitmap() et ne peuvent plus être modifiés ultérieurement. smoothing
SWF lié à la méthode attachMovie().
MovieClip.getNextHighestDepth(). Voir également removeMovieClip (méthode MovieClip.removeMovieClip), unloadMovie (méthode MovieClip.unloadMovie), Fonction removeMovieClip La valeur par défaut de ce paramètre est false.
MovieClip.endFill() est appelée.
0, Flash utilise 0. Si elle est supérieure à 100, Flash applique 100.
MovieClip.getNextHighestDepth(). Vous trouverez également un exemple dans le fichier drawingapi.fla du dossier Samples\ActionScript\DrawingAPI. La liste suivante présente les chemins type vers ce dossier : ■
15 couleurs. Pour chaque couleur, veillez à définir une valeur correspondante dans les paramètres alphas et ratios.
; les valeurs valides vont de 0 à 100. Si la valeur est inférieure à 0, Flash utilise 0. Si la valeur est supérieure à 100, Flash utilise 100. alphas:Array colors
0 à 255. Cette valeur définit le pourcentage de la largeur où la couleur est échantillonnée à 100 %. Spécifiez une valeur pour chaque valeur dans le paramètre colors.
0x4840. La division par 0xFF donne une valeur de 0x48 pour cette couleur constituante, qui est plus sombre que celle du clip ou de l'arrièreplan.
RVB est de 0xFFCC33, et que le pixel d'arrière-plan a une valeur RVB de 0xDDF800, alors la valeur RVB obtenue pour le pixel affiché est de 0xFFF833 (car 0xFF > 0xDD, 0xCC < 0xF8, et 0x33 > 0x00 = 33).
0xFFCC33, et que le pixel d'arrière-plan a une valeur RVB de 0xDDF800, alors la valeur RVB obtenue pour le pixel affiché est de 0xDDCC00 (car 0xFF > 0xDD, 0xCC < 0xF8, et 0x33 > 0x00 = 33).
0xFFCC33, et que le pixel d'arrière-plan a une valeur RVB de 0xDDF800, alors la valeur RVB obtenue pour le pixel affiché est de 0x222C33 (car 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, et 0x33 - 0x00 = 0x33). RVB est de 0xAAA633, et que le pixel d'arrière-plan a une valeur RVB de 0xDD2200, alors la valeur RVB obtenue pour le pixel affiché est de 0xFFC833 (car 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8, et 0x33 + 0x00 = 0x33). RVB est de 0xAA2233, et que le pixel d'arrière-plan a une valeur RVB de 0xDDA600, alors la valeur RVB obtenue pour le pixel affiché est de 0x338400 (car 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84, et 0x00 - 0x33 > 0x00). Ce paramètre est couramment utilisé pour des effets d'ombre.
à un. Si les limites du bitmap changent, le bitmap est recréé au lieu d'être étiré. Aucun bitmap interne n'est créé sauf si la propriété cacheAsBitmap est définie sur true. Après avoir défini la propriété cacheAsBitmap du clip sur true, le rendu ne change pas, bien que le clip procède automatiquement à l'accrochage aux pixels. La vitesse d'animation peut être beaucoup plus importante, selon la complexité du contenu vectoriel. La propriété cacheAsBitmap est automatiquement définie sur true chaque fois que vous appliquez un filtre à un clip (lorsque son tableau filter n'est pas vide). Si un filtre est appliqué à un clip, la propriété cacheAsBitmap est signalée comme true pour ce clip, même si vous avez défini cette propriété sur false. Si vous effacez tous les filtres d'un clip, le paramètre cacheAsBitmap reprend sa définition précédente. Dans les cas suivants, les clips n'utilisent pas de bitmap, même si la propriété cacheAsBitmap est définie sur true, et procède plutôt au rendu du clip à partir de données vectorielles : ■
MovieClip.getNextHighestDepth(). Vous trouverez également un exemple dans le fichier drawingapi.fla du dossier Samples\ActionScript\DrawingAPI. La liste suivante présente les chemins type vers ce dossier : ■
2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également attachMovie (méthode MovieClip.attachMovie)
Disponibilité : ActionScript 1.0 ; Flash Player 6
Le script suivant utilise la méthode curveTo() et la classe Math pour créer un cercle : this.createEmptyMovieClip("circle2_mc", 2); circle2_mc.lineStyle(0, 0x000000); drawCircle(circle2_mc, 100, 100, 100); function drawCircle(mc:MovieClip, x:Number, y:Number, r:Number):Void { mc.moveTo(x+r, y);
MovieClipLoader, le contenu du fichier SWF n'est pas dupliqué. Cela signifie que vous ne pouvez pas économiser de la bande passante en chargeant un fichier JPEG, GIF, PNG ou SWF, puis en dupliquant le clip.
MovieClip.getNextHighestDepth(). Voir également loadMovie (méthode MovieClip.loadMovie), removeMovieClip (méthode MovieClip.removeMovieClip), Fonction duplicateMovieClip 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Vous trouverez également un exemple dans le fichier drawingapi.fla du dossier Samples\ActionScript\DrawingAPI. La liste suivante présente les chemins type vers ce dossier : ■
Pour modifier un objet filtre existant, que ce dernier ait été créé pendant la phase de conception ou d'exécution, vous devez appliquer la technique de modification d'une copie du tableau filters : ■
Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant ajoute un filtre d'ombre portée à un clip appelé myMC : var myDropFilter = new flash.filters.DropShadowFilter(); var myFilters:Array = myMC.filters; myFilters.push(myDropFilter); myMC.filters = myFilters;
_focusrect sur true. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Cet exemple démontre comment masquer le rectangle jaune qui entoure une occurrence de clip donnée dans un fichier SWF lorsque ce dernier reçoit le focus dans une fenêtre de navigation. Créez trois clips appelés mc1_mc, mc2_mc, et mc3_mc, puis ajoutez le code ActionScript suivant sur l'image 1 du scénario : mc1_mc._focusrect = true; mc2_mc._focusrect = false; mc3_mc._focusrect = true; mc1_mc.onRelease = traceOnRelease; mc3_mc.onRelease = traceOnRelease; function traceOnRelease() { trace(this._name); SWF n'est pas terminé. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple L'exemple suivant utilise la propriété _framesloaded pour activer un fichier SWF lorsque toutes les images sont chargées. Si certaines images ne sont pas chargées, la propriété _xscale de l'occurrence de clip bar_mc 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; MovieClip.globalToLocal() pour convertir les coordonnées locales du clip en coordonnées de scène, ou des coordonnées de scène en coordonnées locales, respectivement. Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres - Chemin cible du scénario dont vous souhaitez utiliser le système de coordonnées en tant que point de référence.
Disponibilité : ActionScript 1.0 ; Flash Player 6 Valeur renvoyée Number MovieClip.globalToLocal() pour convertir les coordonnées locales du clip en coordonnées de scène, ou des coordonnées de scène en coordonnées locales, respectivement. Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Chemin cible du scénario dont vous souhaitez utiliser le système de coordonnées en tant que point de référence.
SWF dans le clip publié. Number
Remarque : Vous ne pouvez pas spécifier de valeur d'index de tabulation pour le texte statique dans Flash. Cependant, d'autres produits permettent de le faire (par exemple, Macromedia FlashPaper). Le contenu de l'objet TextSnapshot n'est pas dynamique ; autrement dit, si le clip se déplace vers une autre image, ou est modifié de quelque manière que ce soit (par exemple, si les objets du clip sont ajoutés ou supprimés), l'objet TextSnapshot peut ne pas représenter le texte actuel dans le clip. Pour vous assurer que le contenu de l'objet est à jour, émettez cette commande autant de fois que nécessaire. Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe.
Flash Player 8, la méthode n'est pas autorisée si le fichier SWF appelant est dans le sandbox local avec système de fichier et que la ressource n'est pas locale. Pour plus d'informations, voir les sections suivantes :
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 s'applique aux variables longues de type chaîne. method:String
Le code ActionScript suivant crée une occurrence de clip et ouvre le site Web de Macromedia dans une nouvelle fenêtre : this.createEmptyMovieClip("loader_mc", this.getNextHighestDepth()); loader_mc.getURL("http://www.macromedia.com", "_blank");
MovieClip.getNextHighestDepth(). Lorsque vous utilisez cette méthode, tenez compte du modèle de sécurité Flash Player. ■
SWF appelant est dans le sandbox local avec système de fichier et que la ressource n'est pas locale.
Flash Vous devez tout d'abord créer un objet générique comportant deux propriétés, x et y. Ces valeurs x et y (qui doivent ê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 :
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 MovieClips. Cependant, votre objet générique utilise x et y sans le signe souligné. Le code suivant convertit les valeurs x et y en coordonnées locales : var myPoint:Object = {x:0, y:0}; // 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.globalToLocal(myPoint); trace ("x: " + myPoint.x); // output: -100 trace ("y: " + myPoint.y); // output: -100
Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres - Nom ou identificateur d'un objet créé avec la classe générique Object. Cet objet spécifie les coordonnées x et y en tant que propriétés.
MovieClip.getNextHighestDepth(). Voir également getBounds (méthode MovieClip.etBounds), localToGlobal (méthode MovieClip.localToGlobal), Object La classe MovieClipLoader utilisée dans cet exemple nécessite Flash Player 7 ou une version ultérieure. Voir également _width (propriété MovieClip._width) Usage 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.
Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres fillType:String
0 à 255. Cette valeur définit le pourcentage de la largeur où la couleur est échantillonnée à 100 %. Spécifiez une valeur pour chaque valeur dans le paramètre colors.
Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres - 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 tracée. Si vous transmettez une valeur négative, Flash Player applique 0. La valeur 0 correspond à un filet ; l'épaisseur maximum est de 255. Si vous transmettez une valeur supérieure à 255, l'interpréteur Flash applique une valeur de 255. thickness:Number
- Ajouté dans Flash Player 8. Nombre qui indique la limite à laquelle une pointe est coupée. Les valeurs possibles vont de 1 à 255 (et les valeurs hors de cette plage sont arrondies à 1 ou 255). Cette valeur n'est utilisée que si jointStyle est défini sur "miter". Si aucune valeur n'est indiquée, Flash utilise 3. La valeur miterLimit représente la longueur maximale d'une pointe au-delà du point auquel les lignes se rencontrent pour former une liaison. La valeur exprime un facteur de 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. miterLimit:Number
MovieClipLoader.loadClip() de préférence à la méthode loadMovie(). Si la méthode loadMovie() n'est pas utilisée, Flash Player affiche un fichier SWF unique, puis le ferme. L'utilisation de la méthode loadMovie() permet d'afficher plusieurs fichiers SWF simultanément, puis de basculer entre les fichiers SWF sans charger d'autre document HTML. 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é.
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 lors de l'exécution pour conserver le fichier SWF actif et y charger de nouvelles données. L'utilisation de gestionnaires d'événement avec MovieClip.loadMovie() peut être imprévisible. Si vous liez un gestionnaire d'événements à un bouton avec on(), ou si vous créez un gestionnaire dynamique avec une méthode telle que MovieClip.onPress(), puis appelez loadMovie(), le gestionnaire d'événements ne sera plus disponible après le chargement du nouveau contenu. Cependant, si vous liez un gestionnaire d'événements à un clip avec onClipEvent() ou on(), puis que vous appelez loadMovie() pour ce clip, le gestionnaire d'événements reste disponible après le chargement du nouveau contenu. Lorsque vous utilisez cette méthode, tenez compte du modèle de sécurité Flash Player. Pour Flash Player 8 : ■
MovieClip.getNextHighestDepth().
La méthode loadVariables() requiert que le texte de l'URL soit au format MIME standard : application/x-www-form-urlencoded (format de script CGI). 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.unDomaine.com peut charger des données provenant uniquement de sources situées également à l'adresse www.unDomaine.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 à 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é : ActionScript 1.0 ; Flash Player 5
HTTP distinct et s'applique aux variables longues de type chaîne. method:String
L'exemple suivant charge des informations à partir d'un fichier texte appelé params.txt dans le clip target_mc créé avec createEmptyMovieClip(). Utilisez la fonction setInterval() pour contrôler 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]); 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth().
Vous devez d'abord créer un objet générique qui a deux propriétés, x et y. Ces valeurs x et y (qui doivent ê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;
Object littérale. var myPoint:Object = {x:50, y:20};
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.
MovieClip.getNextHighestDepth(). MovieClip
Chess.swf, lorsque vous le chargez. Placez le code ActionScript suivant sur le scénario principal de Games.fla : chess_mc._lockroot = true;
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;
Exemple Dans l'exemple suivant, lockroot.fla reçoit la propriété _lockroot qui est appliquée au fichier SWF principal. Si le fichier SWF est chargé dans un autre document FLA, la propriété _root fait toujours référence au domaine de lockroot.swf, ce qui permet d'éviter les conflits. Placez le code ActionScript suivant sur le scénario principal de lockroot.fla :
} else { this.gotoAndPlay(1); MovieClip.loadVariables() ou la fonction globale loadVariables(). Si vous voulez invoquer un gestionnaire d'événements avec la méthode MovieClip.loadMovie() ou la fonction loadMovie(), vous devez utiliser onClipEvent(data) à la place de ce gestionnaire. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant illustre l'utilisation correcte de MovieClip.onData(). Il charge un fichier appelé OnData.txt à partir du répertoire contenant le fichier FLA. Lorsque les données du fichier sont chargées dans l'objet MovieClip, onData() s'exécute et nous suivons les données. var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.onData = function() { for(var i in this) { trace(">> " + i + ": " + this[i]); } L'exemple suivant définit une fonction pour la méthode onDragOver qui transmet une instruction trace() au panneau de sortie. my_mc.onDragOver = function () { trace ("onDragOver called"); } MovieClip ou est lié à un symbole dans la bibliothèque. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant définit une fonction pour le gestionnaire d'événement onEnterFrame qui transmet une instruction trace() au panneau de sortie. my_mc.onEnterFrame = function () { trace ("onEnterFrame called"); } Le gestionnaire d'événements onKeyDown 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 vous utilisez Selection.setFocus(), vous devez transmettre le chemin pour le clip à Les autres éléments peuvent aisément reprendre le focus lorsqu'un utilisateur déplace la souris.
Les autres éléments peuvent aisément reprendre le focus lorsque l'utilisateur déplace la souris.
MovieClip ou est lié à un symbole dans la bibliothèque. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres newFocus:Object
MovieClipLoader à la place de ce gestionnaire ; par exemple, lorsque vous utilisez MovieClip.loadMovie() pour charger un fichier SWF de manière dynamique. Contrairement à MovieClip.onLoad, les autres gestionnaires sont appelés lors du chargement d'un clip. Disponibilité : ActionScript 1.0 ; Flash Player 6 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 un fichier de classe appelé Oval.as et définissez une méthode de classe appelée onLoad(). Assurezvous ensuite que le fichier de classe figure dans le chemin de classe approprié, comme dans l'exemple suivant : // contents of Oval.as class Oval extends MovieClip{ public function onLoad () { trace ("onLoad called"); Maintenez l'option Exporter dans la première image activée, puis 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));
MovieClip ou est lié à un symbole dans la bibliothèque. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant définit une fonction pour la méthode onReleaseOutside() qui transmet une instruction trace() au panneau de sortie. my_mc.onReleaseOutside = function () { trace ("onReleaseOutside called"); } Vous pouvez définir la fonction sur le scénario ou dans un fichier de classe qui étend la classe MovieClip ou est lié à un symbole dans la bibliothèque. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant définit une fonction pour la méthode onRollOut() qui transmet une instruction trace() au panneau de sortie. my_mc.onRollOut = function () {
MovieClip ou est lié à un symbole dans la bibliothèque. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant définit une fonction pour la méthode onRollOver() qui transmet une instruction trace() au panneau de sortie. my_mc.onRollOver = function () { trace ("onRollOver called"); } Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Vous pouvez définir la fonction sur le scénario ou dans un fichier de classe qui étend la classe MovieClip ou est lié à un symbole dans la bibliothèque. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres oldFocus:Object
Dans l'exemple suivant, deux boutons de clip permettent de contrôler le scénario. Le bouton prev_mc déplace la tête de lecture sur l'image précédente alors que le bouton next_mc la déplace sur l'image suivante. Ajoutez du contenu à une série d'images du scénario et ajoutez le code ActionScript suivant sur l'image 1 du scénario : stop(); prev_mc.onRelease = function() { var parent_mc:MovieClip = this._parent; if (parent_mc._currentframe>1) { parent_mc.prevFrame(); } else { parent_mc.gotoAndStop(parent_mc._totalframes); Les bitmaps ne sont pas lissés
Flash Player 8 : Les bitmaps sont lissés à partir du paramètre smoothing utilisé dans les appels MovieClip.attachBitma p() et MovieClip.beginBitmap Fill(). Flash Player version 6 et 7 : Les bitmaps ne sont pas lissés
Flash Player 8 : Les bitmaps sont lissés à partir du paramètre smoothing utilisé dans les appels MovieClip.attachBitma p() et MovieClip.beginBitmap Fill(). Flash Player version 6 et 7 : Les bitmaps sont lissés si le clip est statique.
Flash Player version 6 et 7 : Les bitmaps sont toujours lissés.
également d'une propriété globale : il vous suffit donc de définir sa valeur sur_quality. Disponibilité : ActionScript 1.0 ; Flash Player 6
Remarque : Si vous utilisez des composants de la version 2, n'utilisez pas cette méthode. Si vous placez un composant de la version 2 sur la scène ou dans la bibliothèque, la méthode getNextHighestDepth() renvoie parfois une valeur de profondeur de 1048676, qui est en dehors de la limite valide. Si vous utilisez des composants de la version 2, vous devez toujours utiliser les composants de la version 2 de la classe DepthManager. Remarque : Si vous utilisez des composants version 2 et utilisez au lieu des composants version de la classe DepthManager pour affecter les valeurs de profondeur, removeMovieClip() risque d'échouer sans indication. Lorsqu'un composant version 2 est utilisé, la classe DepthManager réserve automatiquement les profondeurs disponibles, que ce soit la plus élevée (1048575) ou la plus basse (-16383), pour les curseurs et les info-bulles. Tout autre appel à getNextHighestDepth() renvoie 1048576, ce qui est en dehors des limites valides. La méthode removeMovieClip() échoue sans indication si elle détecte une valeur de profondeur en dehors de la plage valide. Si vous utilisez getNextHighestDepth() avec des composants version 2, vous pouvez utiliser swapDepths() pour affecter une valeur de profondeur valide ou utiliser MovieClip.unloadMovie() pour supprimer le contenu du clip. En outre, vous pouvez utiliser la classe DepthManager pour affecter des valeurs de profondeur au sein d'une plage valide. MovieClip.getNextHighestDepth()
2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également _rotation (propriété Button._rotation), _rotation (propriété Cette grille comporte huit autres zones : ■
Par exemple, considérez le clip suivant et un rectangle qui lui est appliqué en tant que propriété scale9Grid :
Redimensionné à 50% :
%: Etiré à l'horizontal à 150 % :
Symbole avec mise à l'échelle à 9 découpes activée : Symbole sans mise à l'échelle à 9 découpes activée :
Symbole avec mise à l'échelle à 9 découpes activée Symbole sans mise à l'échelle à 9 découpes activée
Exemple L'exemple suivant crée un clip qui contient une ligne de 20 pixels (formant la bordure) et un remplissage en dégradé. Le clip se redimensionne par rapport à la position de la souris et, en fonction de la propriété scale9Grid définie pour le clip, l'épaisseur de la ligne de 20 pixels ne varie pas lorsque le clip est redimensionné (bien que le dégradé du clip soit redimensionné) : import flash.geom.Rectangle; import flash.geom.Matrix; Si le clip est associé à l'objet flash.geom.Rectangle, le clip est recadré pour obtenir une taille donnée et défile. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant définit une hiérarchie MovieClip (en appelant la fonction setUpContainer()), puis il définit un nouveau Rectangle en tant que propriété scrollRect. import flash.geom.Rectangle; var container:MovieClip = setUpContainer(); var window:Rectangle = new Rectangle(0, 0, 100, 40); container.scrollRect = window; function setUpContainer():MovieClip { var mc:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth()); mc._x = 50; mc._y = 50; mc.opaqueBackground = 0xCCCCCC; var content:MovieClip = mc.createEmptyMovieClip("content", mc.getNextHighestDepth()); var colors:Array = [0xFF0000, 0x0000FF]; var alphas:Array = [100, 100]; var ratios:Array = [0, 0xFF]; var matrix:Object = {a:150, b:0, c:0, d:0, e:150, f:0, g:150, h:150, i:1}; content.beginGradientFill("linear", colors, alphas, ratios, matrix); content.lineTo(300, 0); content.lineTo(300, 300); content.lineTo(0, 300); content.lineTo(0, 0); content.endFill(); content._rotation = -90; mc.onEnterFrame = function() { this.content._y += 1; } 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 : cette action n'est pas réversible. Par exemple, vous pouvez disposer d'un clip dans d'un calque de masque appelé UIMask masquant 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);
Disponibilité : ActionScript 1.0 ; Flash Player 6 [facultatif ] - Valeur booléenne spécifiant si le clip à déplacer doit être verrouillé au centre de la position de la souris (true), ou verrouillé au point où l'utilisateur a cliqué sur le clip en premier lieu (false). lockCenter:Boolean
L'exemple suivant indique comment arrêter un clip appelé aMovieClip: aMovieClip.stop();
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;
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. Cependant, si la valeur de MovieClip.tabChildren est définie sur true, vous pouvez toujours inclure les enfants du clip dans l'ordre de tabulation automatique même si la valeur de tabEnabled est définie sur false. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant exclut myMC2_mc de l'ordre de tabulation automatique : myMC1_mc.onRelease = function() {}; myMC2_mc.onRelease = function() {}; myMC3_mc.onRelease = function() {}; myMC2_mc.tabEnabled = false;
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é : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant montre comment utiliser la propriété transform d'un clip pour accéder et modifier l'emplacement du clip en utilisant le positionnement de matrice. import flash.geom.Matrix; var rect:MovieClip = createRectangle(20, 80, 0xFF0000); var translateMatrix:Matrix = new Matrix(); translateMatrix.translate(10, 0); rect.onPress = function() { var tmpMatrix:Matrix = this.transform.matrix; tmpMatrix.concat(translateMatrix); this.transform.matrix = tmpMatrix; } function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; Vous pouvez étendre les méthodes et les gestionnaires d'événements de la classe MovieClip en créant une sous-classe. Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple L'exemple suivant purge une occurrence de clip appelée box lorsqu'un utilisateur clique sur le clip box : this.createEmptyMovieClip("box", 1); with (box) { lineStyle(1, 0xCCCCCC); beginFill(0x4827CF); moveTo(0, 0); lineTo(80, 0); lineTo(80, 60); lineTo(0, 60); lineTo(0, 0); endFill(); } box.onRelease = function() { box.unloadMovie(); La classe MovieClipLoader utilisée dans ces exemples nécessite Flash Player 7 ou une version ultérieure. La méthode MovieClip.getNextHighestDepth() utilisée dans ces exemples nécessite Flash Player 7 ou une version ultérieure. Si votre fichier SWF comprend un composant de la version 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth().
événements. myMC1_mc.onRelease = traceMC; myMC2_mc.onRelease = traceMC; myMC2_mc.useHandCursor = false; function traceMC() { trace("you clicked: "+this._name); 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth().
L'exemple suivant associe un clip portant l'identifiant de liaison cursor_id à un fichier SWF. Le clip est appelé cursor_mc, et permet de remplacer le pointeur de souris par défaut. Le code ActionScript suivant définit les coordonnées actuelles de l'occurrence de clip en fonction de l'emplacement actuel du pointeur de la souris. this.attachMovie("cursor_id", "cursor_mc", this.getNextHighestDepth(), {_x:_xmouse, _y:_ymouse}); Mouse.hide(); var mouseListener:Object = new Object(); mouseListener.onMouseMove = function() { cursor_mc._x = _xmouse; cursor_mc._y = _ymouse; updateAfterEvent(); }; 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également _xscale (propriété MovieClip._xscale), _y (propriété MovieClip._y), _yscale 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également Souris, _ymouse (propriété MovieClip._ymouse) L'exemple suivant associe un clip à l'identifiant de liaison cursor_id à un fichier SWF. Le clip est appelé cursor_mc et permet de remplacer le pointeur de souris par défaut. Le code ActionScript suivant définit les coordonnées actuelles de l'occurrence de clip en fonction de l'emplacement actuel du pointeur de la souris. this.attachMovie("cursor_id", "cursor_mc", this.getNextHighestDepth(), {_x:_xmouse, _y:_ymouse}); Mouse.hide(); var mouseListener:Object = new Object(); mouseListener.onMouseMove = function() { cursor_mc._x = _xmouse; cursor_mc._y = _ymouse; updateAfterEvent(); }; 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également _x (propriété MovieClip._x), _xscale (propriété MovieClip._xscale), _yscale 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth(). Voir également Souris, _xmouse (propriété MovieClip._xmouse) _x et _y, définis en pixels. Par exemple, si le clip parent est redimensionné à 50 %, le paramétrage de la propriété _x déplace un objet dans le clip selon un nombre de pixels réduit de moitié par rapport à celui qui serait appliqué si le clip était défini sur 100 %. Disponibilité : ActionScript 1.0 ; Flash Player 4
Si le chargement du fichier ne s'effectue pas entièrement, l'écouteur est appelé.
MovieClipLoader.loadClip() ; pour les animations compressées, renvoie le nombre d'octets compressés.
Boolean Vous pouvez utiliser la méthode loadClip() pour charger un ou plusieurs fichiers dans un clip ou niveau unique ; les objets écouteurs MovieClipLoader reçoivent les paramètres d'occurrence de clip cible en cours de chargement. Sinon, 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. et MovieClipLoaderListener.onLoadProgress ne signale pas les valeurs actuelles de bytesLoaded et de 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. MovieClipLoader.getProgress()
Pour Flash Player 8 : ■
être générée dans n'importe quel lecteur (par exemple, si une URL mal formulée est requise), et une valeur de 0 est toujours générée par le module Flash Player lorsqu'il est exécuté dans les navigateurs suivants, qui ne peuvent pas transmettre les codes d'état HTTP du serveur à Flash Player : Netscape, Mozilla, Safari, Opera et Internet Explorer pour Macintosh.
Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres target_mc:MovieClip
Appelle cet écouteur sur un objet d'écoute que vous ajoutez à l'aide de MovieClipLoader.addListener().
Pour le paramètre errorCode, la chaîne "URLNotFound" est renvoyée si l'écouteur 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 que l'écouteur MovieClipLoader.onLoadComplete n'a pas été appelé ; par exemple si le chargement a été interrompu en raison d'un encombrement du serveur, d'une panne de serveur, etc. MovieClipLoader.onLoadStart
Flash Player lorsqu'il est exécuté dans les navigateurs suivants, qui ne peuvent pas transmettre les codes d'état HTTP du serveur vers Flash Player : Netscape, Mozilla, Safari, Opera, et Internet Explorer pour Macintosh. Une valeur de 0 peut également être générée si le lecteur n'a pas essayé d'effectuer la demande d'URL pour réaliser le chargement. Ceci peut se produire parce que la requête viole les règles sandbox de sécurité pour le fichier SWF. Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres target_mc:MovieClip
La valeur 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é : ActionScript 1.0 ; Flash Player 7 Paramètres target_mc:MovieClip Player et les considérations de sécurité suivantes : ■
Flash La lecture des fichiers FLV externes offre plusieurs avantages par rapport à l'intégration de vidéo dans un document Flash : performances et gestion de la mémoire améliorées, indépendance des 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é : ActionScript 1.0 ; Flash Player 7 Exemple Consultez l'exemple relatif à NetConnection.connect(). Nombre d'octets de données ayant été chargés dans le lecteur.
Player supprime la copie locale du fichier FLV qu'il crée, une copie de la vidéo peut subsister dans le répertoire du cache du navigateur. Si une prévention totale de la mise en cache ou du stockage local du fichier FLV est requise, utilisez Flash Communication Server MX. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple La fonction onDisconnect() 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");
Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres infoObject:Object
L'objet d'informations a une propriété de code contenant une chaîne qui décrit le résultat du gestionnaire onStatus et une propriété de niveau contenant une chaîne qui est soit « état » soit « erreur ».
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. flag:Boolean
Les exemples ci-dessous illustrent diverses façons d'utiliser cette méthode : my_ns.pause(); // pauses play first time issued my_ns.pause(); // resumes play my_ns.pause(false); // no effect, play continues my_ns.pause(); // pauses play Sound pour contrôler certains aspects du son. Pour plus d'informations, consultez MovieClip.attachAudio(). 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 sous-ré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 Flash Player 8 : ■
FLV. La tête de lecture se place sur l'image clé de la vidéo qui est la plus proche de numberOfSeconds. offset:Number
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();
Number.MIN_VALUE = 4.94065645841247e-324 Number.MAX_VALUE = 1.79769313486232e+308 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, le paramètre 1 du numéro de type est transmis à la fonction de définition. 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 : Situation d'erreur
L'objet de définition getter n'est pas un
L'objet de définition setter n'est pas un
Renvoie false et la propriété n'est pas ajoutée.
- Valeur booléenne : true si la propriété a été créée correctement ; false dans tous les autres cas.
à 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 ActionScript invoque le constructeur pour la classe appropriée en utilisant le mot-clé this pointant vers l'objet. La fonction constructeur est appelée sans paramètre.
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();
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 constructeur de la classe ActionScript ou null pour annuler l'enregistrement du symbole.
Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Les exemples suivants développent progressivement le premier exemple et illustrent cinq utilisations différentes de la propriété __resolve. Pour faciliter la compréhension, les instructions clés qui diffèrent de l'usage précédent sont indiquées en gras. Usage 1 : l'exemple suivant utilise __resolve pour créer un objet où toute propriété non définie renvoie la valeur "Hello, world!". // instantiate a new object var myObject:Object = new Object(); // define the __resolve function myObject.__resolve = function (name) { return "Hello, world!"; }; trace (myObject.property1); // output: Hello, world! trace (myObject.property2); // output: Hello, world! Les exemples suivants affichent les valeurs renvoyées pour les classes intégrées Date et Array, et les comparent aux valeurs renvoyées de Object.toString(): // Create a new Date object set to February 1, 2004, 8:15 AM 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 prochains appels de Object.watch() sur la même propriété remplacent le point d'observation d'origine.
" : 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 de rappel 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. Généralement, les propriétés ActionScript prédéfinies, telles que _x, _y, _width, et _height, sont des propriétés de lecture/définition ne pouvant pas être observées par Object.watch(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres name:String
à la méthode callback. Si le paramètre userData est omis, undefined est transmis à la méthode callback.
// Create a new object var myObject:Object = new Object(); // Add a property that tracks speed myObject.speed = 0;
En outre, avec les propriétés remplies par PrintJob.start(), votre document peut lire les paramètres d'impression de l'utilisateur, tels que hauteur, largeur et orientation de la page : vous pouvez configurer votre document afin de mettre dynamiquement en forme le contenu Flash en fonction des paramètres de l'imprimante. Ces propriétés de disposition utilisateur sont en lecture seule et ne peuvent pas être changées par Flash Player. Disponibilité : ActionScript 1.0 ; Flash Player 7
PrintJob.start() ou si l'utilisateur a annulé la tâche d'impression), les appels suivants de PrintJob.addPage() échoueront. Cependant, si les appels précédents de PrintJob.addPage() ont réussi, la commande finale de PrintJob.send() envoie les pages mises en file d'attente avec succès vers l'imprimante.
Autrement dit, si vous spécifiez une zone d'impression dont la taille est 50 x 50 pixels, 2 500 pixels sont imprimés. Si vous avez mis le clip à l'échelle, 2 500 pixels sont également imprimés, mais le clip est imprimé à l'échelle retenue. La fonction d'impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres - Nombre ou chaîne ; niveau ou nom d'occurrence du clip à imprimer. Transmettez un nombre pour spécifier un niveau (par exemple, 0 correspond à l'animation _root), ou une chaîne (entre guillemets [""]) pour spécifier le nom d'occurrence du clip. target:Object
{xMin:topLeft, xMax:topRight, yMin:bottomLeft, yMax:bottomRight} Les coordonnées que vous spécifiez pour printArea représentent les pixels de l'écran par rapport au point d'alignement du clip _root (si target = 0) ou du niveau du clip spécifié par target. Vous devez fournir les quatre coordonnées. La largeur (xMax-xMin) et la hauteur (yMax-yMin) doivent chacune être supérieures à 0. printArea:Object
■ Si vous omettez le paramètre printArea ou s'il est transmis de façon incorrecte, l'ensemble de la scène de target est imprimé. Si vous ne souhaitez pas spécifier de valeur pour printArea mais souhaitez spécifier une valeur pour options ou frameNumber, transmettez null pour printArea. [facultatif ] - Paramètre permettant d'indiquer si l'impression doit être de type vectoriel ou bitmap, au format suivant : {printAsBitmap:Boolean} La valeur par défaut est false, ce qui représente une demande d'impression vectorielle. Pour imprimer target en tant que bitmap, transmettez true pour printAsBitmap. Tenez compte des suggestions suivantes lors de la détermination de la valeur à utiliser: options:Object
Si options est omis ou transmis de façon incorrecte, l'impression vectorielle s'applique. Si vous ne souhaitez pas spécifier de valeur pour options mais souhaitez spécifier une valeur pour frameNumber, transmettez null pour options. [facultatif ] - Nombre qui permet de spécifier l'image à imprimer. Le fait de transmettre frameNumber n'implique pas l'appel d'ActionScript à partir de cette image. Si vous omettez ce paramètre, l'image actuelle de target est imprimée. frameNum:Number
Pour utiliser PrintJob.addPage() afin d'imprimer plusieurs images, vous devez émettre une commande PrintJob.addPage() pour chaque image ; les étiquettes d'image #p sont ignorées. Pour savoir comment procéder par programmation, consultez la section Exemple.
PrintJob.addpage() et de PrintJob.start() ont réussi avant d'appeler PrintJob.send(): var my_pj:PrintJob = new PrintJob(); if (my_pj.start()) { if (my_pj.addPage(this)) { my_pj.send(); } } delete my_pj; PrintJob.addPage() et PrintJob.send() dès que possible. Si cette méthode renvoie la valeur false (par exemple, lorsque l'utilisateur clique sur Annuler au lieu de OK dans la boîte de dialogue Imprimer du système d'exploitation), les prochains appels de PrintJob.addPage() et de PrintJob.send() échoueront. Toutefois, si vous testez cette valeur renvoyée et que vous n'envoyez pas de commandes PrintJob.addPage() ensuite, vous devrez quand même supprimer l'objet PrintJob afin de vous assurer que le spouleur d'impression est supprimé, comme indiqué dans l'exemple suivant : var my_pj:PrintJob = new PrintJob(); var myResult:Boolean = my_pj.start(); if(myResult) { // addPage() and send() statements here } delete my_pj;
également utilisés dans la propriété MovieClip.scrollRect pour permettre de recadrer et faire défiler une occurrence MovieClip avec des valeurs spécifiques de décalage de la largeur, de la hauteur et du défilement. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également scrollRect (propriété MovieClip.scrollRect)
System.security.allowDomain(). En dehors de la protection des fichiers SWF contre les scripts interdomaine provenant d'autres fichiers SWF, Flash Player protège également les fichiers SWF contre ce type de script provenant des fichiers HTML. La programmation HTML vers SWF peut s'effectuer avec des fonctions anciennes du navigateur Flash telles que SetVariable ou en appelant des fonctions de rappel établies avec ExternalInterface.addCallback(). Lorsque la programmation HTML vers SWF franchit les limites du domaine, le SWF cible doit également appeler System.security.allowDomain(), comme s'il avait été appelé par un fichier SWF, faute de quoi l'opération échouera. La spécification de l'adresse IP en tant que paramètre pour System.security.allowDomain() n'autorise pas l'accès de toutes les parties provenant de l'adresse IP spécifiée. Par contre, ceci restreint l'accès aux parties qui ont été chargées en spécifiant explicitement cette adresse IP dans leur URL, plutôt qu'en utilisant un nom de domaine qui corresponde à cette adresse IP.
System.security.allowDomain() l'autorise. Pour déterminer si deux fichiers appartiennent au même domaine, Flash Player utilise le superdomaine de chaque fichier, qui correspond au nom d'hôte exact de l'URL du fichier, moins le premier segment, jusqu'à un minimum de deux segments. Par exemple, le superdomaine de www.mysite.com est simplement mysite.com. Ceci autoriserait, par exemple, les fichiers SWF de www.mysite.com et store.mysite.com de se programmer l'un l'autre sans appeler System.security.allowDomain(). Version 7. Le filtrage de superdomaine est modifié pour obtenir la correspondance exacte des domaines. Deux fichiers ne peuvent se programmer que si les noms d'hôte figurant dans leurs URL sont identiques ; sinon vous devez effectuer un appel à System.security.allowDomain(). Par défaut, les fichiers chargés à partir des URL qui ne sont pas de type HTTPS ne sont plus autorisés à programmer les fichiers chargés à partir des URL HTTPS, même si les fichiers sont chargés à partir d'un domaine rigoureusement identique. Cette restriction permet de protéger les fichiers HTTPS, dans la mesure où les fichiers qui ne sont pas régis par le protocole HTTPS sont vulnérables aux modifications pendant les téléchargements, et si ce type de fichier est manipulé, il risque de corrompre un fichier HTTPS, qui est normalement à l'abri de ce genre de manipulation. System.security.allowInsecureDomain() a été ajouté pour permettre aux fichiers SWF HTTPS cible de désactiver cette restriction si nécessaire. Néanmoins, Macromedia déconseille d'utiliser System.security.allowInsecureDomain().
System.security.allowDomain("*"), ce qui tient compte du fait que l'origine du fichier SWF local est inconnue. (Si le fichier SWF Internet cible est chargé à partir d'une URL HTTPS, le fichier SWF Internet doit alors appeler System.security.allowInsecureDomain("*").)
Dans ce cas, vous pouvez utiliser la propriété MovieClip._url comme paramètre de cette méthode. Par exemple, si vous chargez un fichier SWF dans le clip my_mc, vous pouvez appeler System.security.allowDomain(my_mc._url). Si vous procédez ainsi, veuillez patienter jusqu'au début du chargement du fichier SWF dans my_mc car la propriété _url ne dispose pas de sa valeur correcte et finale qu'à ce moment là. La meilleure façon de déterminer si le chargement d'un fichier SWF enfant a commencé est d'utiliser MovieClipLoader.onLoadStart.
Pour plus d'informations, consultez les sections suivantes : ■
ActionScript 2.0 dans Flash Cette méthode fonctionne de la même façon que System.security.allowDomain(), mais elle autorise en outre des opérations où la partie qui procède à l'accès est chargée avec un protocole non HTTPS et la partie cible est chargée avec le protocole HTTPS. A partir de la version 7 de Flash Player, les fichiers non HTTPS ne sont pas autorisés à programmer les fichiers HTTPS. La méthode allowInsecureDomain() lève cette restriction lorsque le fichier SWF HTTPS cible l'utilise. Utilisez allowInsecureDomain() uniquement pour activer la programmation des fichiers non HTTPS vers les fichiers HTTPS. Utilisez cette méthode pour activer la programmation lorsque le fichier non HTTPS source et le fichier HTTPS cible sont servis à partir du même domaine, par exemple, si un fichier SWF figurant sur http://mysite.com doit programmer https://mysite.com. Ne l'utilisez pas pour activer la programmation entre les fichiers non HTTPS, entre les fichiers HTTPS ou des fichiers HTTPS vers les fichiers non HTTPS. Dans ces situations, recourez plutôt à allowDomain().
être sécurisé pour protéger les informations financières et personnelles des utilisateurs. Supposons que vous placiez le catalogue dans http://mysite.com/catalog.swf et le caddie dans https://mysite.com/cart.swf. L'un des éléments du cahier des charges stipule qu'aucun tiers ne doit pouvoir voler les numéros de carte bancaire des utilisateurs en exploitant une faiblesse de l'architecture de sécurité. Imaginons qu'un intermédiaire malveillant tente d'intervenir entre le serveur et vos utilisateurs pour s'emparer des numéros de carte de crédit que vos utilisateurs pénètrent dans votre application de caddie. L'intermédiaire, peut être un FAI peu scrupuleux, par exemple, ou un administrateur malveillant travaillant dans la même entreprise que certains utilisateurs, ou de façon plus générale, toute personne ayant la possibilité d'afficher ou modifier les paquets réseau transmis sans protection sur Internet, entre vos utilisateurs et vos serveurs. Cette situation n'est pas rare. Si cart.swf utilise HTTPS pour transmettre les informations bancaires aux serveurs, l'intermédiaire ne peut pas voler directement ces informations en détournant les paquets réseau, dans la mesure où la transmission HTTPS est chiffrée. Cependant, l'attaquant peut utiliser une autre technique : modifier le contenu de l'un de vos fichiers SWF pendant sa remise à l'utilisateur, en remplaçant le fichier SWF par une version modifiée qui détourne les informations relatives à l'utilisateur vers un autre serveur.
Naturellement, cette implémentation n'est pas souhaitable, mais vous devez autoriser la programmation croisée entre les deux fichiers SWF de votre site. Voici deux façons de changer la conception de ce site virtuel d'e-commerce afin d'éviter allowInsecureDomain() : ■
HTTPS, ce qui se traduira par une légère augmentation du temps de chargement des applications au niveau de l'utilisateur. Vous devez faire des essais avec des serveurs réels pour déterminer la gravité de ces effets. De manière générale, elle reste cantonnée entre 10 et 20 %, et est parfois totalement absente. Vous pouvez généralement améliorer les résultats avec du matériel et des logiciels d'accélération HTTPS sur vos serveurs. L'un des principaux avantage de l'application du protocole HTTPS aux fichiers SWF qui doivent coopérer est que vous pouvez utiliser une URL HTTPS en tant qu'URL principale dans le navigateur de l'utilisateur sans générer d'avertissements de contenu mixtes à partir du navigateur. En outre, l'icône en forme de cadenas devient visible dans le navigateur, ce qui permet d'offrir aux utilisateurs un indicateur de sécurité reconnu.
Pour plus d'informations, consultez les sections suivantes : ■
ActionScript 2.0 dans Flash 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 L'utilisation du protocole xmlsocket avec un numéro de port spécifique permet de récupérer directement les fichiers de régulation depuis un serveur XMLSocket, comme indiqué dans l'exemple suivant : System.security.loadPolicyFile("xmlsocket://foo.com:414");
1024 ou un port de numéro supérieur). Lors de la connexion au port spécifié, Flash Player transmet <policy-file-request />, suivi d'un octet de terminaison nul null. Il est possible de configurer un serveur XMLSocket afin qu'il distribue des fichiers de régulation et des connexions XMLSocket normales en utilisant un port unique. Dans ce cas, le serveur attend de recevoir <policy-file-request /> avant de transmettre un fichier de régulation. Il est également possible de configurer un serveur afin qu'il distribue les fichiers de régulation et les connexions standard via des ports différents. Dans ce cas, le serveur peut transmettre un fichier dès qu'une connexion est établie au niveau du port dédié aux fichiers de régulation. Le serveur doit renvoyer un octet nul à la fin du fichier de régulation avant de fermer la connexion. Si le serveur ne ferme pas la connexion, Flash Player y met fin après avoir reçu l'octet nul de terminaison null.
Pour plus d'informations, consultez les sections suivantes : ■
ActionScript 2.0 dans Flash FlashPlayerTrust. Ce fichier SWF peut aussi bien lire à partir de sources locales de données qu'il peut communiquer avec Internet.
Pour plus d'informations, consultez les sections suivantes : ■
ActionScript 2.0 dans Flash Résumé des propriétés Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Renvoie une chaîne spécifiant le chemin cible de l'objet ayant le focus.
ActionScript. Les chemins type de ce dossier sont : ■
élevé du jeu. Dans la mesure où l'objet partagé est persistant localement, Flash enregistre ses attributs de données sur l'ordinateur de l'utilisateur à la fermeture du jeu. Lorsque le jeu est à nouveau ouvert, il affiche le score le plus élevé de la session précédente. Une autre méthode consiste à définir les propriétés de l'objet partagé sur null avant de fermer le jeu. Lorsque le fichier SWF est exécuté de nouveau, le jeu s'ouvre sans afficher le score le plus élevé. Pour créer un objet partagé localement, utilisez la syntaxe suivante : var so:SharedObject = SharedObject.getLocal("userHighScore"); so.data.highScore = new Number(); so.flush();
Lorsqu'une application se ferme, les objets partagés sont purgés de façon automatique. Cependant, ceci est indiqué ici pour démontrer la procédure d'écriture des données sur un disque. Eléments importants relatifs à l'espace disque local : Les objets partagés locaux peuvent être particulièrement utiles, mais ils sont soumis à certaines limites qui doivent être prises en compte lors de la conception de votre application. Certains fichiers SWF ne sont pas autorisés à écrire des objets locaux partagés et certaines données stockées dans des objets partagés locaux peuvent être supprimées à votre insu. Les utilisateurs de Flash Player peuvent gérer l'espace disque disponible pour des domaines spécifiques ou l'ensemble des domaines. Lorsque des utilisateurs réduisent le montant d'espace disque disponible, certains objets locaux partagés peuvent être supprimés. Les utilisateurs de Flash Player disposent également de contrôles de confidentialité qui peuvent empêcher les domaines tiers (domaines autres que le domaine figurant dans la barre d'adresses du navigateur) de lire ou d'écrire des objets locaux partagés. Remarque : un contenu local peut toujours écrire s des objets partagés par un tiers sur un disque, quoiqu'il soit interdit à un domaine tiers d'écrire des objets partagés sur un disque.
Modificateurs Signature clear() : Void
Purge toutes les données de l'objet partagé, puis supprime cet objet du disque. Pour aménager un espace permettant à l'objet partagé de se développer lors d'un enregistrement ultérieur, en évitant le retour de valeurs "pending", transmettez une valeur pour minimumDiskSpace. Lorsque Flash 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. Par exemple, si vous espérez qu'un objet partagé se développe jusqu'à une taille maximum de 500 octets, même s'il peut être au départ beaucoup plus petit, transmettez 500 pour minimumDiskSpace. Si Flash demande à l'utilisateur d'affecter de l'espace disque à l'objet partagé, il demandera 500 octets. Une fois que l'utilisateur affecte l'espace nécessaire, Flash ne demande pas davantage d'espace pour les tentatives ultérieures de purge de l'objet (tant que sa taille ne dépasse pas 500 octets). Une fois que l'utilisateur répond à la boîte de dialogue, cette méthode est appelée de nouveau et renvoie true ou false; SharedObject.onStatus est également appelé avec une propriété de code de SharedObject.Flush.Success ou SharedObject.Flush.Failed. Pour plus d'informations, consultez « Eléments importants de l'espace disque local » dans la présentation de la classe SharedObject. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres [facultatif ] - Entier spécifiant le nombre d'octets qui doivent être affectés à cet objet. La valeur par défaut est 0.
écriture avec les paramètres fournis par l'utilisateur. Enfin flush() est appelé pour enregistrer les paramètres et allouer un espace disque minimum de 1 000 octets. this.syncSettingsCore = function(soName:String, override:Boolean, settings:Object) { var my_so:SharedObject = SharedObject.getLocal(soName, "http:// www.mydomain.com/app/sys"); // settings list index var i; // For each specified value in settings: // If override is true, set the persistent setting to the provided value. écrire des objets partagés par un domaine tiers sur un disque (domaines autres que le domaine de la barre d'adresse du navigateur actuel), quoiqu'il soit interdit à un domaine tiers d'écrire des objets partagés sur un disque. Pour éviter les collisions de noms, Flash examine l'emplacement du fichier SWF qui crée l'objet partagé. Par exemple, si un fichier SWF à l'adresse www.myCompany.com/apps/ stockwatcher.swf crée un objet partagé nommé portfolio, cet objet partagé n'entre pas en conflit avec un autre objet nomméportfolio qui a été créé par un fichier SWF à l'adresse www.yourCompany.com/photoshoot.swf, étant donné que les fichiers SWF proviennent de répertoires différents. Même si le paramètre localPath est facultatif, vous devez réfléchir à son utilisation, en particulier si les autres fichiers SWF doivent accéder à l'objet partagé. Si les données dans l'objet partagé sont spécifiques à un fichier SWF qui ne sera pas déplacé vers un autre emplacement, l'utilisation de la valeur par défaut a alors du sens. Si les autres fichiers SWF nécessitent un accès à l'objet partagé ou si le fichier SWF qui crée l'objet partagé est déplacé, la valeur de ce paramètre peut alors avoir un effet sur la capacité des fichiers SWF à accéder à l'objet partagé. Par exemple, si vous créez un objet partagé avec localPath défini sur la valeur par défaut du chemin complet vers le fichier SWF, aucun autre fichier SWF ne pourra accéder à cet objet partagé. Si vous déplacez par la suite le fichier SWF d'origine vers un autre emplacement, ce fichier SWF ne pourra pas accéder aux données déjà enregistrées dans l'objet partagé.
Le diagramme suivant indique comment utiliser le paramètre secure :
// Create the shared object and set localpath to server root. var my_so:SharedObject = SharedObject.getLocal("savedText", "/"); // Load saved text from the shared object into the myText_ti TextInput component. myText_ti.text = my_so.data.myTextSaved; // Assign an empty string to myText_ti if the shared object is undefined L'estimation de la taille de l'objet peut monopoliser beaucoup de temps de traitement. Il est donc recommandé d'éviter d'utiliser cette méthode à moins de devoir combler un besoin spécifique. Disponibilité : ActionScript 1.0 ; Flash Player 6 Valeur renvoyée Number En plus de ce gestionnaire onStatus, Flash fournit également une super fonction appelée Si onStatus est appelé pour un objet particulier et qu'aucune fonction n'est affectée pour y répondre, Flash exécute une fonction affectée à System.onStatus, si elle existe. System.onStatus.
Résumé des propriétés Modificateurs Propriété duration:Number
Number], [loops:Number]) : Void stop([linkageID:Stri Arrête tous les sons en cours de lecture si aucun ng]) : Void
Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Pour vous assurer que le son peut être contrôlé depuis une quelconque scène dans le fichier SWF, placez le son sur le scénario principal du fichier SWF. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres - Identifiant d'un son exporté dans la bibliothèque. L'identifiant est situé dans la boîte de dialogue Propriétés de liaison.
2.0 classiques et le type de contenu représenté par les balises ; vous les interrogez au format my_sound .id3.COMM, my_sound .id3.TIME, etc. Les fichiers MP3 peuvent contenir des balises différentes de celles indiquées dans ce tableau ;Sound.id3 donne également accès à ces balises. Propriété
ActionScript Sound et répondent à toutes les méthodes et propriétés de cette classe.
Pour Flash Player 8 : ■
ActionScript 2.0 dans Flash - Pourcentage indiquant la quantité d'entrée droite à lire dans le haut-parleur gauche (0100). 1r
Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres listener:Object - Objet qui écoute les notifications de rappel en provenance de l'événement Stage.onResize event.
Cet exemple crée un nouvel objet écouteur appelé stageListener. Il utilise ensuite stageListener pour appeler onResize et définit une fonction qui sera appelée lorsque onResize sera déclenché. Enfin, le code ajoute l'objet stageListener à la liste de rappel de l'objet Stage. Les objets écouteur permettent à plusieurs objets d'écouter les notifications de redimensionnement.
Voir également addListener (méthode Stage.addListener)
Propriétés du document. Ceci signifie que la valeur de la largeur width reste constante lorsque vous redimensionnez la fenêtre du lecteur. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Cet exemple crée un nouvel objet écouteur appelé stageListener. Il utilise ensuite pour appeler onResize et définit une fonction qui sera appelée lorsque onResize sera déclenché. Enfin, le code ajoute l'objet stageListener à la liste de rappel de l'objet Stage. Les objets écouteur permettent à plusieurs objets d'écouter les notifications de redimensionnement. stageListener
Vous pouvez appeler l'une des méthodes de la classe String à l'aide de la méthode constructeur ou d'une valeur de littéral de chaîne. Si vous spécifiez un littéral de chaîne, l'interpréteur ActionScript le convertit automatiquement en un objet String temporaire, appelle la méthode, puis supprime l'objet String temporaire. Vous pouvez également utiliser la propriété String.length avec un littéral de chaîne.
concat(value:Object) Combine la valeur de l'objet String avec les : String
les points spécifiés par les paramètres start et end.
- 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.
élément du tableau renvoyé. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres delimiter:String limit:Number
String plutôt qu'un littéral de chaîne. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres value:String
String Pour appliquer des styles à un objet TextField, attribuez l'objet feuille de style à une propriété styleSheet. Flash Player prend en charge un sous-ensemble de propriétés dans la spécification CSS1 d'origine (www.w3.org/TR/REC-CSS1). Le tableau suivant présente les propriétés et les valeurs prises en charge de la feuille de style en cascade (CSS) et les noms de propriétés ActionScript correspondants. (Chaque nom de propriété ActionScript est tiré du nom de propriété CSS correspondant. Si le nom contient un trait d'union, le trait d'union est omis et le caractère suivant est une majuscule.)
ActionScript Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents.
Flash Player crée une copie de l'objet style que vous transmettez à cette méthode. Vous trouverez une liste des styles pris en charge dans le tableau de description de la classe StyleSheet. Disponibilité : ActionScript 1.0 ; Flash Player 7
Si cette valeur est true (vrai), les paramètres et les données d'un fichier SWF hébergé à ici.xyz.com sont stockés dans un répertoire ici.xyz.com, les paramètres et les données d'un fichier SWF hébergé à labas.xyz.com sont stockés dans un répertoire appelé labas.xyz.com, etc. Si cette valeur est false, les paramètres et données de fichiers SWF résidant sur ici.xyz.com, labas.xyz.com et xyz.com sont partagés et tous enregistrés sur xyz.com. Si une partie de vos fichiers définit cette propriété sur false et les autres sur true, vous risquez d'obtenir des fichiers SWF dans différents sous-domaines qui partagent des paramètres et des données. Par exemple, si cette propriété est false dans un fichier SWF hébergé à l'adresse here.xyz.com et true dans un fichier SWF hébergé à l'adresse xyz.com, les deux fichiers utiliseront les mêmes paramètres et données, c'est-à-dire, ceux du répertoire xyz.com. Si le comportement n'est pas celui attendu, assurez-vous de définir cette propriété dans chaque fichier pour représenter correctement la manière dont vous souhaitez enregistrer les paramètres et les données. Si vous voulez modifier la valeur par défaut de cette propriété, faites-le dans le premier cadre de votre document. Si vous voulez modifier la valeur par défaut de cette propriété, faites-le à proximité du début de votre script. La propriété ne peut pas être modifiée après une activité nécessitant un accès aux paramètres locaux telle que System.showSettings() ou SharedObject.getLocal(). Si vous utilisez loadMovie(), MovieClip.loadMovie(), ou MovieClipLoader.loadClip() pour charger un fichier SWF dans un autre, tous les fichiers publiés pour Flash Player 7 partagent une seule valeur pour System.exactSettings et tous les fichiers publiés pour Flash Player 6 partagent une seule valeur pour System.exactSettings. Si vous utilisez MovieClip.loadMovie() ou MovieClipLoader.loadClip() pour charger un fichier SWF dans un autre, tous les fichiers partagent une seule valeur pour System.exactSettings. Par conséquent, si vous spécifiez une valeur pour cette propriété dans un fichier publié pour une version du Player particulière, vous devez le faire dans tous les fichiers à charger. Si vous chargez plusieurs fichiers, le paramètre spécifié dans le dernier fichier chargé remplace tout paramètre précédemment spécifié.
SWF Flash Player 7. Cette étape requiert la spécification de System.exactSettings = false dans votre fichier SFW Flash Player 7. Il est également possible d'avoir des fichiers SWF publiés pour Flash Player 6 et des fichiers SWF pour Flash Player 7 partageant les mêmes données d'objet partagé. Dans ce cas, choisissez simplement une valeur pour System.exactSettings (soit true soit false) et utilisez-la invariablement dans vos fichiers SWF Flash Player 6 et Flash Player 7. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant indique comment spécifier les règles de concordance du superdomaine : Clipboard. En d'autres termes, il n'existe pas de méthode System.getClipboard() correspondante. Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres text:String - Chaîne au format texte seul à placer dans le Presse-papiers du système, remplaçant son contenu actuel (si ce dernier contient déjà des données).
L'exemple suivant place la phrase "Hello World" dans le Presse-papiers système : System.setClipboard("Hello world"); 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;
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 créer dynamiquement un champ texte, vous ne devez pas utiliser l'opérateurnew. Utilisez plutôt MovieClip.createTextField() à sa place. 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. ActionScript offre différentes manières de formater vos textes à l'exécution. La classe TextFormat permet de définir le formatage des caractères et des paragraphes pour les objets TextField. A partir de Flash Player 7, vous pouvez appliquer des styles CSS (feuilles de style en cascade) aux champs texte à l'aide de la propriété TextField.StyleSheet et de la classe StyleSheet. Vous pouvez utiliser le style CSS pour l'appliquer aux balises HTML intégrées, définir de nouvelles balises de format ou appliquer des styles. Vous pouvez directement affecter du texte au format HTML, pouvant éventuellement utiliser des styles CSS, à un champ texte. Dans Flash Player 7 et les versions ultérieures, le texte HTML que vous assignez à un champ texte peut contenir des supports intégrés (clips vidéo, fichiers SWF, JPEG, GIF et PNG). Le texte entoure le média intégré comme dans un document HTML dans un navigateur Web. Flash Player prend en charge un sous-ensemble de balises HTML à utiliser pour formater le texte.
L'anti-aliasing avancé n'est pas recommandé pour les polices de plus de 48 points.
Exemple Cet exemple crée deux champs texte et n'applique l'anti-aliasing avancé qu'au premier. Il suppose que vous avez une police intégrée à la librairie avec l'identifiant de liaison défini sur "Times-12". Pour intégrer la police, procédez comme suit : ■
Si autoSize est défini sur "right", le texte est alors 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" or "\r") le bas est alors également redimensionné pour s'adapter à 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" or "\r") le bas est alors également redimensionné pour s'adapter à 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. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Utilisez le code suivant et entrez différentes valeurs pour autoSize de façon à voir comment le champ se redimensionne en fonction de ces valeurs. Un clic de souris pendant la lecture du fichier SWF remplace la chaîne "short text" de chaque champ par un texte plus long et appliquant différents paramètres pour autoSize. this.createTextField("left_txt", 997, 10, 10, 70, 30); this.createTextField("center_txt", 998, 10, 50, 70, 30); this.createTextField("right_txt", 999, 10, 100, 70, 30); this.createTextField("true_txt", 1000, 10, 150, 70, 30); this.createTextField("false_txt", 1001, 10, 200, 70, 30); left_txt.text = "short text"; left_txt.border = true; center_txt.text = "short text"; center_txt.border = true; right_txt.text = "short text";
L'ensemble du texte entre les lignes TextField.scroll et TextField.bottomScroll est actuellement visible dans le champ texte. Disponibilité : ActionScript 1.0 ; Flash Player 6
Si la propriété .html du champ texte est false, cette propriété est ignorée. Disponibilité : ActionScript 1.0 ; Flash Player 6
Pour ajouter un filtre avec ActionScript, vous devez procéder de la façon décrite ci-dessous (supposez que le clip cible s'appelle myTextField): ■
à un tableau intitulé myFilters.
Si vous utilisez un tableau filters contenant plusieurs filtres et devez suivre le type de filtre affecté à chaque index de tableau, vous pouvez conserver votre propre tableau filters et utiliser une structure de données distincte pour suivre le type de filtre associé à chaque index de tableau. Il n'existe aucune méthode simple permettant de déterminer le type de filtre associé à chaque index de tableau filters. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant ajoute un filtre d'ombre portée à un clip appelé myTextField. var myDropFilter = new flash.filters.DropShadowFilter(); var myFilters:Array = myTextField.filters; myFilters.push(myDropFilter); myTextField.filters = myFilters;
Remarque : La propriété hscroll se base sur zéro et non sur un, comme c'est le cas de la propriété de défilement vertical TextField.scroll. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant fait défiler le champ texte my_txt à l'horizontale à l'aide de deux boutons appelés scrollLeft_btn et scrollRight_btn. Le montant de défilement s'affiche dans un champ texte appelé scroll_txt. Ajoutez le code ActionScript suivant à votre fichier FLA ou AS : this.createTextField("scroll_txt", this.getNextHighestDepth(), 10, 10, 160, L'exemple suivant crée un champ texte qui définit la propriété html sur true. Le texte au format HTML s'affiche dans le champ texte. this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 22); my_txt.html = true; my_txt.htmlText = "<b> this is bold text </b>"; Si votre fichier SWF comporte un composant de la version 2, utilisez la classe DepthManager des composants de la version 2 au lieu de la méthode MovieClip.getNextHighestDepth(), utilisée dans cet exemple. Voir également Button, ContextMenu, ContextMenuItem, MovieClip
MovieClip.getNextHighestDepth().
Gestionnaire d'événements/écouteur : appelé lorsque le contenu d'un champ texte est modifié. Par défaut, il a la valeur undefined ; vous pouvez le définir dans un script. Une référence vers l'occurrence de champ texte est transmise en tant que paramètre au gestionnaire onChanged. Vous pouvez capturer ces données en plaçant un paramètre dans la méthode du gestionnaire d'événements. Par exemple, le code suivant utilise textfield_txt en tant que paramètre à transmettre au gestionnaire d'événements onChanged. Le paramètre est ensuite utilisé dans une instruction trace() pour envoyer le nom de l'occurrence du champ texte vers le panneau de sortie : this.createTextField("myInputText_txt", 99, 10, 10, 300, 20); myInputText_txt.border = true; myInputText_txt.type = "input"; myInputText_txt.onChanged = function(textfield_txt:TextField) { trace("the value of "+textfield_txt._name+" was changed. New value is: "+textfield_txt.text); };
La propriété _quality peut être définie sur les valeurs suivantes : ■
22); my_txt.text = new Date().toString(); my_txt.border = true; remove_btn.onRelease = function() { my_txt.removeTextField(); Contrôle-clic sur ce champ, vous pouvez sélectionner Enter current date dans le menu contextuel. Cette sélection appelle une fonction qui remplace le texte sélectionné par la date actuelle. this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 320, 240); my_txt.border = true; my_txt.wordWrap = true; my_txt.multiline = true; my_txt.type = "input"; my_txt.text = "Select some sample text from the text field and then rightclick/control click " + "and select 'Enter current date' from the context menu to replace the " - Texte à utiliser pour remplacer la plage de caractères spécifiée.
L'exemple suivant crée un champ texte appelé my_txt et lui associe le texte dog@house.net. La méthode indexOf() permet de rechercher la première occurrence du symbole spécifié (@). Si le symbole est trouvé, le texte spécifié (entre l'index de 0 et le symbole) remplace la chaîne bird. Si le symbole n'est pas trouvé, un message d'erreur est affiché sur le panneau de sortie. this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 320, 22); my_txt.autoSize = true; my_txt.text = "dog@house.net"; var symbol:String = "@"; var symbolPos:Number = my_txt.text.indexOf(symbol); if (symbolPos>-1) { my_txt.replaceText(0, symbolPos, "bird"); } else { trace("symbol '"+symbol+"' not found."); } L'exemple suivant autorise uniquement les caractères en majuscules, les espaces et les nombres dans le champ texte : my_txt.restrict = "A-Z 0-9";
120); my_txt.wordWrap = true; my_txt.embedFonts = true; my_txt.text = "Hello world"; my_txt.setTextFormat(my_fmt); my_txt._rotation = 45; étant donné que les utilisateurs souhaitent que l'ensemble de la ligne de texte soit visible et non une partie de la ligne seulement. Même s'il existe plusieurs polices sur une ligne, la hauteur de la ligne s'adapte à la plus grande police utilisée. Disponibilité : ActionScript 1.0 ; Flash Player 6 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 FLA ou AS : this.createTextField("scroll_txt", this.getNextHighestDepth(), 10, 10, 160, Copy. Si selectable est défini sur true, le texte du champ texte peut être sélectionné à l'aide de la souris ou du clavier. Vous pouvez sélectionner le texte de cette manière même si le champ texte est un champ texte dynamique et non un champ texte de saisie. Le texte peut être copié à l'aide de la commande Copy. Disponibilité : ActionScript 1.0 ; Flash Player 6 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; var date_interval:Number = setInterval(updateTime, 500, date_txt); function updateTime(my_txt:TextField) { my_txt.text = new Date().toString(); Pour les paragraphes, le premier caractère du paragraphe est analysé pour 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 paragraphe. 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 corps de texte d'un champ texte. Ces utilisations sont indiquées dans le tableau suivant. Utilisation
my_textField.setTextFormat(beginI Applique les propriétés de textFormat au caractère sur ndex:Number,
TextField.replaceSel(), reçoit la mise en forme par défaut du champ texte pour un nouveau texte, et non la mise en forme spécifiée pour le point d'insertion du texte. Pour définir la mise en forme par défaut d'un champ texte pour un nouveau texte, utilisez TextField.setNewTextFormat(). Disponibilité : ActionScript 1.0 ; Flash Player 6
Pour plus d'informations et un exemple, consultez la propriété globale _soundbuftime. Disponibilité : ActionScript 1.0 ; Flash Player 6 Voir également _soundbuftime, propriété L'exemple suivant crée deux champs texte pendant l'exécution, appelés one_txt, two_txt, et four_txt. Le champ texte three_txt a sa propriété tabEnabled définie sur false, ce qui entraîne son exclusion de la séquence de tabulation. three_txt
L'ordre de tabulation personnalisé défini par la propriété tabIndex est plat. 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é : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple de code ActionScript suivant crée de façon dynamique quatre champs texte et les associe à un ordre de tabulation personnalisé. Ajoutez le code ActionScript suivant à votre fichier FLA ou AS : this.createTextField("one_txt", this.getNextHighestDepth(), 10, 10, 100, 22); one_txt.border = true; one_txt.type = "input"; this.createTextField("two_txt", this.getNextHighestDepth(), 10, 40, 100, Le code ActionScript suivant crée un champ texte et applique une propriété de couleur rouge. this.createTextField("my_txt", 99, 10, 10, 100, 300); my_txt.text = "this will be red text"; my_txt.textColor = 0xFF0000;
Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant illustre la propriété align définie pour la justification, ce qui entraîne un espacement des caractères sur chaque ligne qui donne au texte un espacement horizontal d'un aspect plus régulier. var format:TextFormat = new TextFormat(); format.align = "justify"; var txtField:TextField = this.createTextField("txtField", this.getNextHighestDepth(), 100, 100, 300, 100); txtField.multiline = true;
Si vous créez un champ de texte basé sur les propriétés de texte, utilisez textFieldHeight plutôt que height et textFieldWidth plutôt que width. La figure suivante illustre ces mesures.
Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres text:String Courier New, ne prennent pas en charge le crénage. La propriété de crénage kerning n'est prise en charge que dans les fichiers SWF créés dans Windows, pas dans les fichiers SWF créés sur Macintosh. Cependant, les fichiers SWF Windows peuvent être lus dans des versions de Flash Player autres que Windows et le crénage s'applique encore. N'utilisez cette fonction qu'en cas de nécessité, dans les titres avec des polices de grande taille par exemple. Disponibilité : ActionScript 1.0 ; Flash Player 8
Flash Player 8 prend en change l'interlignage négatif, ce qui signifie que l'espacement des lignes est inférieur à la hauteur du texte. L'interlignage négatif peut être utile lorsque vous devez rapprocher des lignes de texte, dans des titres par exemple. Pour prévenir les chevauchements, appliquez l'interlignage négatif aux lignes qui ne contiennent pas de descendantes, notamment les lignes contenant uniquement des majuscules.
Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant crée un champ texte incluant un hyperlien pointant vers le site Web de Macromedia. Cet exemple utilise TextFormat.target pour afficher le site Web de Macromedia dans une nouvelle fenêtre de navigateur. var myformat:TextFormat = new TextFormat(); myformat.url = "http://www.macromedia.com"; myformat.target = "_blank"; this.createTextField("mytext",1,100,100,200,100); mytext.multiline = true; mytext.wordWrap = true; mytext.border = true; mytext.html = true; mytext.text = "Go to Macromedia.com"; mytext.setTextFormat(myformat);
[facultatif ] - Fenêtre cible dans laquelle s'affiche l'hyperlien. Si la fenêtre cible est une chaîne vide, le texte s'affiche dans la fenêtre cible par défaut _self. Si le paramètre url est défini sur une chaîne vide ou sur la valeur null, vous pouvez obtenir ou définir cette propriété, mais la propriété n'aura aucun effet.
Une valeur de 3 occupe le moins d'espace mémoire possible, mais débouche sur la qualité moindre. Les polices de plus grande taille nécessitent davantage d'espace en mémoire cache ; pour les polices dont la taille est de 64 pixels, le niveau de qualité passe de 3 à 4 ou de 4 à 7, à moins que ce niveau ne soit déjà défini sur 7. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant spécifie la valeur maxLevel de l'ensemble du fichier SWF et affiche ensuite un champ texte avec la valeur définie. Pour que le texte de cet exemple soit affiché correctement, un symbole de police doit être disponible avec un identifiant de liaison de "CustomFont". import flash.text.TextRenderer; à 20 reprennent les paramètres de la taille 20. Les autres polices correspondent aux données de police fournies. La méthode setAdvancedAntialiasingTable() permet de définir des données d'anti-aliasing personnalisées pour les autres polices et tailles de police, ou de remplacer les paramètres par défaut des polices fournies. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres fontName:String
(ADF) pour représenter les contours qui déterminent un glyphe. Flash applique une valeur butoir externe (outsideCutOff), en-deçà de laquelle les densités sont définies sur zéro, et une valeur butoir interne (insideCutOff), au-delà de laquelle les densités sont limitées à une valeur donnée (telle que 255). Entre ces deux valeurs, la fonction de mappage est une courbe linéaire allant de zéro, pour la valeur butoir externe, jusqu'à la valeur de densité maximum définie pour la valeur butoir interne. Le réglage des valeurs butoir externe et interne affecte l'épaisseur du trait et la netteté des bords. L'espacement séparant ces deux paramètres est comparable au double du rayon du filtre des méthodes classiques d'anti-aliasing ; un espacement étroit fournit un bord plus net, tandis qu'un espacement plus large donne un bord plus doux, plus filtré. Lorsque l'espacement est nul, l'image de densité résultante est un bitmap à deux niveaux. Lorsque l'espacement est très large, le bord de l'image de densité résultante est assez semblable à celui d'une aquarelle. De manière générale, les utilisateurs préfèrent les bords nets à fort contraste pour les petites tailles et des bords plus doux pour le texte animé et les polices de grande taille. La valeur butoir externe correspond généralement à une valeur négative, tandis que la valeur interne a une valeur positive. Leur point intermédiaire est proche de zéro. Le réglage de ces paramètres pour décaler le point intermédiaire vers l'infini négatif augmente l'épaisseur du trait, tandis que son décalage vers l'infini positif la réduit. Assurez-vous que la valeur butoir externe soit toujours inférieure ou égale à la valeur interne. Dans la plupart des circonstances, un exposant gamma égal à 1 est adéquat. Cependant, lors du rendu de sous-pixels [mode écran à cristaux liquides(LCD)], l'exposant gamma est utilisé pour atténuer les effets de franges de couleur observés lors du rendu des polices à trait fin (par exemple, Times Roman) et de petites tailles en point. Vous pouvez également utiliser l'exposant gamma pour améliorer un contraste dans les deux modes tube à rayon cathodique (CRT) et LCD. Exemple L'exemple suivant crée deux entrées anti-alias et deux champs texte pour les illustrer. Pour que cet exemple fonctionne, le fichier SWF doit avoir une police partagée intégrée avec un identifiant de liaison de "myArial". Pour intégrer la police, procédez comme suit : ■
Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres - Position d'index du premier caractère à examiner. Les valeurs valides pour vont de 0 à TextSnapshot.getCount() - 1. Si start est une valeur négative, 0 est
Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres includeLineEndings:Boolean [facultatif ] - Valeur booléenne qui spécifie si les caractères de
La valeur par défaut est false.
Pour renvoyer tous les caractères, transmettez une valeur de 0 pour start et TextSnapshot.getCount() ou un grand nombre quelconque) pour end. Pour renvoyer un seul caractère, transmettez une valeur de start +1 pour end. Si vous transmettez true pour includeLineEndings, des caractères de nouvelle ligne sont insérés dans la chaîne de renvoi lorsque cela semble approprié et la chaîne de renvoi peut être plus longue que la plage d'entrée. Si includeLineEndings est false ou omis, la méthode renvoie le texte sélectionné sans ajouter de caractères. Disponibilité : ActionScript 1.0 ; Flash Player 7
TextSnapshot. Les valeurs valides pour end vont de 0 à TextSnapshot.getCount(). Le caractère indexé par le paramètre end n'est pas inclus dans la chaîne extraite. Si vous omettez ce paramètre, TextSnapshot.getCount() est utilisé. Si la valeur de end est inférieure ou égale à la valeur start, start + 1 est utilisé. end:Number
La valeur par défaut est false. Valeur renvoyée String - Chaîne contenant les caractères dans la plage spécifiée, ou une chaîne vide si aucun caractère n'est détecté dans la plage spécifiée.
L'exemple suivant illustre comment renvoyer le nombre de caractères dans un objet TextSnapshot spécifié. Pour utiliser ce code, placez un champ de texte statique contenant le texte « TextSnapshot Example » sur la Scène. var my_mc:MovieClip = this; var my_snap:TextSnapshot = my_mc.getTextSnapshot(); var count:Number = my_snap.getCount(); var theText:String = my_snap.getText(0, count, false); trace(count); // 20 trace(theText); // TextSnapshot Example
TextSnapshot.getSelectedText) La valeur combinée alpha et couleur du caractère. Les deux premiers nombres hexadécimaux représentent la valeur alpha, les autres nombres représentent la valeur couleur. (L'exemple comprend une méthode de conversion des valeurs décimales en valeurs hexadécimales.) La hauteur des caractères, en pixels.
Les coins du cadre de délimitation du caractère, basé sur le système de coordonnées du clip parent. Ces valeurs ne sont disponibles que si la police utilisée par le caractère est intégrée dans le fichier SWF.
Cette méthode fonctionne correctement uniquement pour les polices qui incluent des informations métriques de caractères ; par défaut cependant, Macromedia Flash n'inclut pas ces informations pour les champs de texte statique. Par conséquent, il se peut que la méthode renvoie -1 au lieu d'une valeur d'indexation. Pour garantir qu'une valeur d'indexation est renvoyée, vous pouvez forcer l'outil de programmation Flash à inclure les informations métriques de caractères pour une police. Pour ce faire, ajoutez un champ de texte dynamique qui utilise cette police, sélectionnez les options des caractères pour ce champ de texte dynamique et spécifiez que les polices vectorielles doivent être intégrées pour au moins un caractère. (Le choix des caractères spécifiés et la présence ou non des caractères utilisés dans les champs de texte statique en question importent peu.)
Cette méthode fonctionne correctement uniquement pour les polices qui incluent des informations métriques de caractères ; par défaut cependant, Macromedia Flash n'inclut pas ces informations pour les champs de texte statique. Par conséquent, il se peut que la méthode renvoie -1 au lieu d'une valeur d'indexation. Pour garantir qu'une valeur d'indexation est renvoyée, vous pouvez forcer l'outil de programmation Flash à inclure les informations métriques de caractères pour une police. Pour ce faire, ajoutez un champ de texte dynamique qui utilise cette police, sélectionnez les options des caractères pour ce champ de texte dynamique et spécifiez que les polices vectorielles doivent être intégrées pour au moins un caractère. (Le choix des caractères spécifiés et la présence ou non des caractères utilisés dans les champs de texte statique en question importent peu.) Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres color:Number
Pour sélectionner ou désélectionner tous les caractères, transmettez une valeur de 0 pour start et TextSnapshot.getCount() (ou un grand nombre quelconque) pour end. Pour spécifier un seul caractère, transmettez une valeur de start + 1 pour end. Les caractères étant individuellement marqués comme sélectionnés, vous pouvez appeler cette méthode plusieurs fois pour sélectionner plusieurs caractères ; c'est-à-dire, l'utilisation de cette méthode ne désélectionne pas les autres caractères qui ont été définis par cette méthode. Cette méthode fonctionne correctement uniquement avec les polices qui incluent des informations métriques de caractères ; par défaut, Flash n'inclut pas ces informations pour les champs de texte statique. Par conséquent, il se peut que du texte sélectionné n'apparaisse pas pour être sélectionné à l'écran. Pour garantir que l'ensemble du texte sélectionné s'affiche comme tel, vous pouvez forcer l'outil de programmation Flash à inclure les informations métriques de caractères pour une police. A cet effet, incluez dans la bibliothèque la police utilisée par le champ texte statique et dans options de Liaison pour la police, sélectionnez Exporter pour ActionScript. Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres - Position du premier caractère à sélectionner. Les valeurs valides pour start vont de 0 à TextSnapshot.getCount() - 1. Si start est une valeur négative, 0 est utilisé. start:Number
TextSnapshot.getCount() est utilisé. Si la valeur de end est inférieure ou égale à la valeur start, start + 1 est utilisé. select:Boolean
s'appliquent à cet objet et à l'ensemble de ses objets parents, jusqu'à la racine.
l'objet MovieClip sur la Scène.
Si votre contenu Flash charge de façon dynamique des fichiers vidéo (à l'aide du téléchargeage progressif ou du serveur de communication Flash), vous pouvez utiliser les vidéos On2 VP6 sans avoir à publier de nouveau votre fichier SWF pour Flash Player 8, tant que les utilisateurs exécutent Flash Player 8 pour afficher votre contenu. En diffusant en flux continu ou en téléchargeant la vidéo On2 VP6 en Flash SWF version 6 ou 7 et en lisant le contenu dans Flash Player 8, vous évitez de devoir à recréer vos fichiers SWF pour les utiliser dans Flash Player 8. Codec
Pour afficher le flux vidéo, remplacez d'abord un objet Video sur la Scène. Choisissez ensuite pour joindre le flux vidéo à l'objet Video.
■ 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 transmise. 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 MovieClip.attachAudio(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres - Objet Camera qui capture des données vidéo ou un objet NetStream. Pour annuler la connexion à l'objet Video, transmettez null pour source. Le filtre de dégroupage a un effet sur les performances globales de lecture et il n'est généralement pas nécessaire pour la vidéo à large bande passante. Si votre système n'est pas assez puissant, il vous sera peut-être difficile de lire la vidéo avec ce filtre activé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant lit le fichier video1.flv dans l'objet vidéo my_video et permet à l'utilisateur de modifier le comportement du filtre de dégroupage pour video1.flv. Ajoutez à votre fichier un objet vidéo appelé my_video et l'occurrence ComboBox appelée deblocking_cb, puis ajoutez le code ActionScript à votre fichier FLA ou AS. var deblocking_cb:mx.controls.ComboBox; var my_video:Video; // my_video is a Video object on the Stage var my_nc:NetConnection = new NetConnection(); my_nc.connect(null); var my_ns:NetStream = new NetStream(my_nc); my_video.attachVideo(my_ns); my_ns.play("video1.flv"); deblocking_cb.addItem({data:0, label:'Auto'}); deblocking_cb.addItem({data:1, label:'No'}); deblocking_cb.addItem({data:2, label:'Yes'}); var cbListener:Object = new Object(); cbListener.change = function(evt:Object) { my_video.deblocking = evt.target.selectedItem.data; }; deblocking_cb.addEventListener("change", cbListener); Video sur la Scène. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant définit les propriétés _height et _width de l'occurrence Video Symbol comme étant égales aux propriétés height et width du fichier FLV chargé. Pour utiliser cet exemple, commencez par créer un nouveau symbole Video avec un nom d'occurrence de « myVideo » et placez-le dans le même contexte que ce script. Les propriétés height et width seront égales à zéro lorsque le code de statut NetStream.Play.Start sera déclenché. En redimensionnant la vidéo une fois que le statut de NetStream.Buffer.Full a été reçu, assurez-vous que sa taille soit correcte avant que le premier cadre de vidéo ne soit présenté. var netConn:NetConnection = new NetConnection(); netConn.connect(null); var netStrm:NetStream = new NetStream(netConn); myVideo.attachVideo(netStrm); netStrm.play("Video.flv"); netStrm.onStatus = function(infoObject:Object) { switch (infoObject.code) { case 'NetStream.Play.Start' : case 'NetStream.Buffer.Full' : myVideo._width = myVideo.width; myVideo._height = myVideo.height; break; } }
Video sur la Scène. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Consultez les exemples relatifs à Video.height.
Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également _xscale (propriété Video._xscale), _y (propriété Video._y), _yscale Le redimensionnement du système de coordonnées local affecte les paramètres des propriétés _x et _y définis en pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également _x (Video._x property), _y (propriété Video._y), _yscale (propriété 90 ° en sens anti-horaire. Les coordonnées de l'objet Video renvoient à la position du point d'alignement. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également _x (Video._x property), _xscale (propriété Video._xscale), _yscale (propriété _x et _y définis en pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir également _x (Video._x property), _xscale (propriété Video._xscale), _y (propriété 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 propriétés suivantes, consultez la section relative à la classe XMLNode, plus précisément appendChild(), attributes, childNodes, cloneNode(), firstChild, hasChildNodes(), insertBefore(), lastChild, nextSibling, nodeName, nodeType, nodeValue, parentNode, previousSibling, removeNode() et toString().
Disponibilité : ActionScript 1.0 ; Flash Player 5 Voir également appendChild (XMLNode.appendChild, méthode), attributes (XMLNode.attributes, propriété), childNodes (XMLNode.childNodes, propriété), cloneNode (XMLNode.cloneNode, méthode), firstChild (XMLNode.firstChild, propriété), hasChildNodes (XMLNode.hasChildNodes, méthode), insertBefore dans le paramètre.
// create a new XML document var doc:XML = new XML(); La déclaration DOCTYPE est lue par le programme d'analyse et enregistrée dans la propriété XML.docTypeDecl, mais aucune validation Dtd n'est effectuée. En cas d'absence de déclaration DOCTYPE au cours d'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éfinie, aucune déclaration DOCTYPE n'est produite. Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple L'exemple suivant utilise la propriété XML.docTypeDecl pour définir la déclaration DOCTYPE d'un objet XML : my_xml.docTypeDecl = "<!DOCTYPE greeting SYSTEM \"hello.dtd\">"; Lorsque la méthode load() est exécutée, la propriété d'objet XML loadedest définie sur Lorsque le téléchargement des données XML se termine, 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. false.
événements onLoad de l'objet XML est appelé. Remarque : Si un fichier en cours de chargement contient des caractères non-ASCII (comme s'en trouvent dans les langues autres que l'anglais), nous vous recommandons d'enregistrer le fichier avec codage UTF-8 ou UTF-16, plutôt que sous un format non-Unicode, ASCII par exemple. Lorsque vous employez cette méthode, considérez le modèle de sécurité Flash Player :
XML.onData : XML.prototype.onData = function (src:String) { if (src == undefined) { this.onLoad(false); Si Flash Player ne peut pas obtenir du serveur un code de statut ou ne peut pas communiquer avec le serveur, la valeur par défaut (0) est transmise à votre code ActionScript. La valeur 0 peut être générée par tous les joueurs, comme si un URL malformulé avait été requis, et est toujours générée par le module Flash Player lorsqu'il est exécuté dans les navigateurs suivants, lesquels ne transmettent pas les codes de statut HTTP au joueur : Netscape, Mozilla, Safari, Opera, ou Internet Explorer pour Macintosh. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Code de statut HTTP renvoyé par le serveur. Par exemple, la valeur 404 indique que le serveur n'a rien trouvé qui corresponde à l'URI requis. Les valeurs de code HTTP sont répertoriées dans les sections 10.4 et 10.5 de la spécification HTTP à l'adresse ftp://ftp.isi.edu/in-notes/rfc2616.txt.
Dans un navigateur, la valeur par défaut est "POST". Dans un environnement Flash de test, la valeur par défaut est "GET".
Lorsque vous employez cette méthode, considérez le modèle de sécurité Flash Player : Pour Flash Player 8 : ■
Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres text:String
Résumé de la méthode Modificateurs Signature
L'exemple suivant indique comment utiliser la propriété XML.childNodes pour renvoyer un tableau récapitulatif des nœuds enfants : // create a new XML document var doc:XML = new XML(); - 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.
Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres prefix:String
XML, en partant du dernier élément de la liste d'enfants pour remonter jusqu'au premier : // create a new XML document var doc:XML = new XML(); // create a root node var rootNode:XMLNode = doc.createElement("rootNode"); // create three child nodes var oldest:XMLNode = doc.createElement("oldest"); var middle:XMLNode = doc.createElement("middle"); var youngest:XMLNode = doc.createElement("youngest"); XML. La propriété nodeName renvoie le nom complet (ce qui inclut le préfixe et le nom local). Disponibilité : ActionScript 1.0 ; Flash Player 8
Vous pouvez utiliser la méthode getNamespaceForPrefix() pour identifier le nom d'espace associé à un préfixe spécifique. La propriété namespaceURI renvoie le préfixe associé au nom de nœud.
Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple L'exemple suivant crée un nœud element et un nœud text, puis vérifie le nom de nœud de ces derniers : // create an XML document var doc:XML = new XML(); La propriété nodeName d'un objet nœud XML renvoie le nom complet (ce qui inclut le préfixe et le nom local). Vous pouvez accéder à la section locale du nom de l'élément par l'intermédiaire de la propriété localName. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple Un répertoire contient un fichier SWF et un fichier XML. Le fichier XML, appelé « SoapSample.xml » contient le code suivant : XML.toString() produit la déclaration XML du document (enregistrée dans la propriété XML.xmlDecl), suivie de la déclaration DOCTYPE du document (enregistrée dans la propriété XML.docTypeDecl), suivie de la représentation de texte de tous les nœuds 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 undefined. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée String - Pour un nœud texte, il s'agit du texte du nœud ; pour un élément nœud, il s'agit du contenu de la balise.
SWF, vous pouvez créer un fichier de régulation de sécurité sur le serveur qui permette d'accéder à partir de domaines spécifiques.
XMLSocket, pour créer un objet XMLSocket. Disponibilité : ActionScript 1.0 ; Flash Player 5 Résumé des propriétés Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) 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.yoursite.com, le fait de spécifier null pour le paramètre hôte équivaut à entrer l'adresse IP pour www.yoursite.com. Pour les fichiers SWF lus par une version antérieure à Flash Player 7, le paramètre host doit correspondre au superdomaine du fichier SWF envoyant cet appel. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des variables provenant d'un fichier SWF à 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 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 peut charger des variables uniquement à 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 interdomaines sur le serveur hébergeant le fichier SWF qui est utilisé. Lorsque load() est exécuté, la propriété d'objet XML loadedest définie sur false. Lorsque le téléchargement des données XML se termine, 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. Si XMLSocket.connect() renvoie une valeur true, le niveau initial du processus de connexion est accessible ; puis la méthode XMLSocket.onConnect est appelée pour déterminer si la connexion finale a été établie ou non. Si XMLSocket.connect() renvoie false, la connexion ne peut pas être établie. Lorsque vous employez cette méthode, considérez le modèle de sécurité Flash Player. ■
Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres src:XML
Disponibilité : ActionScript 1.0 ; Flash Player 7 Résumé des propriétés Propriétés héritées de la classe Object constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) String.length pour effectuer les mêmes opérations. mbchr(number:Numb Déconseillée depuis Flash Player 5. Cette fonction a été déconseillée au profit de la méthode er) String.fromCharCode(). mblength(string:Strin Déconseillée depuis Flash Player 5. Cette fonction a g) été déconseillée au profit de la méthode et des propriétés de la classe String. mbord(character:Stri ng)
été déconseillée au profit de la méthode et des propriétés de la classe String. random(value:Numbe Déconseillée depuis Flash Player 5. Cette action a été r) déconseillée au profit de Math.random(). substring(string:Strin g, index:Number, count:Number)
>>> Opérateur de décalage droit non signé au niveau du bit 154 >>>= Opérateur de décalage droit non signé au niveau du bit et d'affectation 155 ? opérateur conditionnel 160 __proto__, propriété 1033 __resolve, propriété 1036