Les tableaux en actionscript 2

4 janvier 2008 par dans Action script

Le prochain post parle de la façon de loader une vidéo différente, à chaque chargement de page. Les vidéos sont stockées dans un tableau, c’est pourquoi je vous présente ici, de façon succinte, les tableaux en as.
On peut avoir besoin, certaines fois, d’associer plusieurs valeurs à d’autres valeurs. Par exemple une petite playlist de vidéos qui se trouveraient sur des sites comme youtube ou dailymotion par exemple.

Télécharger le fla


On pourrait écrire

var video1:String = "http://www.site.fr/video.flv";
var video2:String = "http://www.siteDeux.com/video.flv";
var video3:String = "http://www.siteTrois.fr/video.flv";
var video4:String = "http://www.siteQuatre.com/video.flv";
var video5:String = "http://www.siteCinq.fr/video.flv";
 

Mais il est possible de créer un tableau de données avec l’objet Array. C’est en fait une liste d’éléments. Tous les éléments dans un tableau ne sont pas obligatoirement du même type. On peut mélanger les éléments du type number, string, object et même y ajouter un autre tableau.

Créons un simple tableau

// tout d’abord initialisons le nouveau tableau
var maVideo:Array = new Array();
// définissons les valeurs du tableau
maVideo[0] = "http://www.site.fr/video.flv";
maVideo[1] = "http://www.siteDeux.com/video.flv";
maVideo[2] = "http://www.siteTrois.fr/video.flv";
maVideo[3] = "http://www.siteQuatre.com/video.flv";
maVideo[4] = "http://www.siteCinq.fr/video.flv";
 

Cela peut aussi être écrit de cette façon :

var maVideo:Array = newArray( "http://www.site.fr/video.flv", "http://www.siteDeux.com/video.flv", "http://www.siteTrois.fr/video.flv", "http://www.siteQuatre.com/video.flv", "http://www.siteCinq.fr/video.flv");

// pour comprendre
// var maVideo:Array = newArray ("valeur1", "valeur2", "valeur3", "valeur4", "valeur5");

 

Ou encore de cette façon :

var maVideo:Array = ["http://www.site.fr/video.flv", "http://www.siteDeux.com/video.flv", "http://www.siteTrois.fr/video.flv", "http://www.siteQuatre.com/video.flv", "http://www.siteCinq.fr/video.flv")];

// pour comprendre
// var maVideo:Array = ["valeur1", "valeur2", "valeur3", "valeur4", "valeur5"];

 

On peut faire appel aux éléments du tableau grâce à leurs position dans le tableau. La position d’un élément dans un tableau est appelé index. Il faut juste se souvenir que le premier élément du tableau a comme valeur 0. Pour appeler la vidéo du « siteDeux » il suffit de taper :

var afficheVideo = maVideo[1]

Pour utiliser les tableaux :

// tout d’abord initialisons le nouveau tableau
var maVideo:Array = new Array();
// définissons les valeurs du tableau
maVideo[0] = "http://www.site.fr/video.flv";
maVideo[1] = "http://www.siteDeux.com/video.flv";
maVideo[2] = "http://www.siteTrois.fr/video.flv";
maVideo[3] = "http://www.siteQuatre.com/video.flv";
maVideo[4] = "http://www.siteCinq.fr/video.flv";

// bouclons maintenant dans le tableau pour afficher les valeurs
var i:String;
for (i in maVideo) {
// on va faire un trace pour afficher les valeurs
trace("Pour l’index: " + i + " la valeur est: " + maVideo[i]);
}

// trouvons la longueur du tableau
trace("longueur du tableau:" + maVideo.length); // affiche 5
// affichons toutes les infos contenues dans le tableau
var j:Number;
for (j= 0; j < maVideo.length; j++) {
maVideo[j] = maVideo[j];
}
trace("Affiche:" + maVideo);

 

Utilisons quelques propriétés.

stop();
// création d’un champs de texte
this.createTextField("affichage", 93, 10,  10, 545, 300);
affichage.selectable = true;
affichage.multiline = true;
affichage.html = true;
affichage.wordWrap = true;
affichage.mouseWheelEnabled = true;
affichage.background = 0xFFFFFF;
affichage.autoSize = "left";

// tout d’abord initialisons le nouveau tableau
var maVideo:Array = new Array();
// définnissons les valeurs du tableau
maVideo[0] = "http://www.site.fr/video.flv";
maVideo[1] = "http://www.siteDeux.com/video.flv";
maVideo[2] = "http://www.siteTrois.fr/video.flv";
maVideo[3] = "http://www.siteQuatre.com/video.flv";
maVideo[4] = "http://www.siteCinq.fr/video.flv";

// bouclons maintenant dans le tableau pour afficher les valeurs
var i:String;
for (i in maVideo) {
// on va faire un trace pour afficher les valeurs
affichage.htmlText += "Pour l’index: " + i + " la valeur est: " + maVideo[i];
}

affichage.htmlText += "<br><b>Quelques propriétés</b>";

affichage.htmlText += "<br> <b>join</b> : " + maVideo.join(" + "); // concatene les éléments d’un tableau  en les séparant par le séparateur transmis
affichage.htmlText += "longueur du tableau: " + maVideo.length; // trouvons la longueur du tableau // affiche 5

affichage.htmlText += "<br> <b>pop</b> : " + maVideo.pop(); // Supprime le dernier élément d’un tableau et renvoie la valeur de cet élément.
affichage.htmlText += "longueur du tableau: " + maVideo.length; // trouvons la longueur du tableau // affiche 4

affichage.htmlText += "<br> <b>push</b> : " + maVideo.push("http://www.siteCinq.fr/video.flv", "http://www.siteSix.fr/video.flv");// Ajoute un ou plusieurs éléments à la fin d’un tableau et renvoie la nouvelle longueur du tableau.
affichage.htmlText += "longueur du tableau: " + maVideo.length; // trouvons la longueur du tableau // affiche 6

affichage.htmlText += "<br> <b>shift</b> : " + maVideo.shift(); // Supprime le premier élément d’un tableau et renvoie la valeur de cet élément.
affichage.htmlText += "longueur du tableau: " + maVideo.length; // trouvons la longueur du tableau // affiche 5

affichage.htmlText += "<br> <b>splice</b> : " + maVideo.splice(0,2,"http://www.siteAjoute.fr/videoAjoute.flv"); // Ajoute et supprime des éléments dans un tableau. Cette méthode modifie le tableau sans faire de copie.

affichage.htmlText += "<br> <b>reverse</b> : " + maVideo.reverse(); // inverse le tableau

 

voila voila +++

Commentaires (2)

 

  1. eCR dit :

    Bonjour !
    Tout d’abord merci pour l’article.
    J’étais en train de chercher comment supprimer un index de tableau définitivement (pas attribuer une valeur vide), j’ai trouvé les méthode pop() et splice() qui font l’affaire
    Bon courage

  2. Niums dit :

    Hello eCR, remarques intéréssante que tu me fait la !
    J’ai donc rajouté ces méthodes.
    Bon courage à toi.

Laisser un commentaire