Home Construction dynamique
Construire une interface dynamique PDF Imprimer Envoyer

Les Sprites !

Vous souhaitez construire dynamiquement l'interface d'une animation Flash, mais vous ne savez pas comment vous allez gérer le rafraichissement de l'écran lorsque vous passerez d'une "page" à l'autre.

Vous avez besoin de charger des images dans une partie de votre écran, mais vous avez également besoin de pouvoir les déplacer (ex. : les faire défiler) ou les supprimer d'un seul clic.

Nous pourrions continuer ainsi  notre énumération de cas classiques où vous aurez besoin de définir des zones de chargement de médias, mais ces deux exemples suffisent. En effet, lorsque vous allez placer des objets d'affichages (des occurrences) sur la scène à l'aide la méthode addChild(), vous devrez avoir le réflexe d'utiliser des instances de Sprite. Afin de bien comprendre le principe d'un tel concept, les Sprites, nous vous invitons à prendre connaissance des ressources Placer dynamiquement un symbole sur la scène et  Charger une image ou animation sur la scène, afin de les mettre en pratique dans l'exemple ci-dessous.

 

A chaque fois que vous devrez placer une image ou un symbole sur la scène, vous ne vous contenterez pas de faire appel à la méthode addChild(), mais vous utiliserez plutôt :

zoneCentrale.addChild(nom de votre instance)

Ainsi, vous ne placerez pas votre instance de type Loader ou votre instance de symbole directement sur la scène, mais plutôt dans une instance de Sprite intitulée zoneCentrale. Vous devez comprendre qu'à chaque clic sur un bouton, l'instance zoneCentrale va être supprimée, ainsi que tous les objest d'affichage que vous aurez ajouté, avant d'être recréée.

 

Script à essayer avec les recommandations ci-dessus

Placez 5 occurrences (nommées bt1 à bt5) sur la scène etajoutez vos lignes d'instructions en lieu et place des lignes de commentaires de chaque fonction.


//Définition de la zone de travail

var zoneCentrale:Sprite = new Sprite();

addChild(zoneCentrale);


// ------------
bt1.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran1);

bt2.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran2);

bt3.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran3);

bt4.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran4);

bt5.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran5);


function afficherEcran1(evt:MouseEvent) {

    cleanEcran();

    // Code à écrire pour la construction

    // de l'écran 1

    trace("Ecran 1");

}

function afficherEcran2(evt:MouseEvent) {

    cleanEcran();

    // Code à écrire pour la construction

    // de l'écran 2

    trace("Ecran 2");
}

function afficherEcran3(evt:MouseEvent) {

    cleanEcran();

    // Code à écrire pour la construction

    // de l'écran 3

    trace("Ecran 3");

}

function afficherEcran4(evt:MouseEvent) {

    cleanEcran(); 

   // Code à écrire pour la construction

    // de l'écran 4

    trace("Ecran 4");

}

function afficherEcran5(evt:MouseEvent) {

    cleanEcran();

    // Code à écrire pour la construction

   // de l'écran 5

    trace("Ecran 5");

}


function cleanEcran() {

    removeChild(zoneCentrale);

    zoneCentrale = new Sprite();

   addChild(zoneCentrale);

}

 

Voici également un autre exemple à télécharger.

 http://www.yazo.net/racine/download/ConstructionInterfaceDynamique.zip

 

 

 
Yazo.net, Powered by Joomla!; Joomla templates by SG web hosting