Construire une interface dynamique |
![]() |
![]() |
![]() |
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 :
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-dessusPlacez 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.
addChild(zoneCentrale); bt2.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran2); bt3.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran3); bt4.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran4); bt5.addEventListener(MouseEvent.MOUSE_DOWN,afficherEcran5); 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"); cleanEcran(); // Code à écrire pour la construction // de l'écran 3 trace("Ecran 3"); cleanEcran(); // Code à écrire pour la construction // de l'écran 4 trace("Ecran 4"); } cleanEcran(); // Code à écrire pour la construction // de l'écran 5 trace("Ecran 5"); } removeChild(zoneCentrale); zoneCentrale = new Sprite(); addChild(zoneCentrale); }
Voici également un autre exemple à télécharger. http://www.yazo.net/racine/download/ConstructionInterfaceDynamique.zip
|