Les variables

Utilisation des variables en ActionScript 3 (AS3)

En programmation, les variables sont utilisées pour stocker des données. Nous allons voir à travers ce billet, l’utilisation des variables en AS3.

Déclarer une variable

Le mot clé var est obligatoire en AS3 pour déclarer une variable


[as]// Le mot clé var est obligatoire en AS3 pour déclarer une variable
var i;
// Il est fortement recommandé de désigner le type de la variable. Sans cette désignation, un avertissement apparaît à la compilation en mode strict.
var j:int;[/as]

Valeur d’une variable

On peut parfaitement donner une valeur à la variable au moment de sa création. Une variable, déclarée sans valeur, se verra affectée une valeur par défaut
[as]// On peut parfaitement donner une valeur à la variable au moment de sa création
var largeur:int = 100;
// Une variable déclarée sans valeur, se verra affectée une valeur par défaut
var o:int, p:String, q:Boolean, r:Number, s:Object, t;
trace(« valeur par défaut d’un entier : « +o+ »\n »+ « valeur par défaut d’une chaîne de caractères : « +p+ »\n »+ « valeur par défaut d’un booléen : « +q+ »\n »+ « valeur par défaut d’un nombre : « +r+ »\n »+ « valeur par défaut d’un type object : « +s+ »\n »+ « valeur par défaut d’une variable non typée : « +t);[/as]

Grouper des déclarations de variables

Pour simplifier la lecture du code, les déclarations de variables peuvent être groupées même si le type des variables est différent
[as]// Les déclarations de variables peuvent être groupées var k:int=1, l:int=10, m:int=20;
// On peut grouper des variables de types différents
var ville:String= »Nantes », dep:int=44, prefecture:Boolean=true;
trace(« Ville : « +ville+ »\nDépartement : « +dep+ »\nPréfécture : « +prefecture);[/as]

Portée des variables

Une variable peut-être globale donc utilisable à partir de n’importe quelle ligne de votre script ou locale donc utilisable uniquement dans la fonction ou elle a été créé.
[as]/*** Portée des variables ***/
// Une variable globale est une variable qui est défini en dehors d’une fonction ou d’une classe
var globale:String = « Flash 9″;
// Une variable globale est accessible depuis et en dehors d’une fonction
trace(« Valeur de la variable en dehors de la fonction : « +globale);
function testPortee():void
{
trace(« Valeur de la variable depuis la fonction : « +globale);
}
testPortee();
// Une variable locale est une variable qui est déclarée dans une fonction
function porteeLocale():void
{
var locale:String = « Adobe Flash ActionScript 3″;
trace(« Valeur de la variable depuis la fonction : « +locale);
}
porteeLocale();
//trace(« Valeur de la variable en dehors de la fonction : « +locale);[/as]

Il n’existe pas de limitations comme en Java ou en C++ pour les variables déclarées à l’intérieur des accolades d’un bloc d’instructions.

[as]/* Variables déclarées dans un bloc d’instructions Contrairement aux langages Java ou C++, les variables déclarées entre les accodales d’un bloc d’instructions ne se limitent pas à ce bloc d’instructions. La portée de ces variables est défini par l’élément parent*/
var a:int = 10; var b:int = 20;
if(a<b)
{
var c:int=a;
trace(« La valeur de c à l’intérieur des accolades du if est « +c);
}
trace(« La valeur de c à l’extérieur des accolades du if est « +c);// la portée de c ne se limite pas qu’aux accolades du if et c est une variable globale car défini en dehors d’une fonction
var d:int = 30; var e:int = 40;
function comparaison(d:int, e:int):void
{
if(d<e)
{
var f:int=d;
trace(« La valeur de f à l’intérieur des accolades du if est « +f);
}
trace(« La valeur de f à l’extérieur des accolades du if est « +f); //la portée de f ne se limite pas qu’aux accolades du if
}
comparaison(d,e);
trace(« La valeur de f à l’extérieur des accolades du if et à l’extérieur de la fonction est « +f); // par contre, f étant défini dans une fonction, sa portée est locale donc le trace provoque une erreur[as]
;)