EXERCICE : « BALLET DE POISSONS » INDICATIONS

Transcription

EXERCICE : « BALLET DE POISSONS » INDICATIONS
Stage DAFPEN – OAA en AS3 [EXERCICES : SERIE 4] EXERCICE : « BALLET DE POISSONS » INDICATIONS CONCEPTION GENERALE Toutes les n secondes, un nouveau poisson est créé. Les poissons ne sont pas des symboles. Ils sont chargés à l’aide de la classe Loader. Pour chaque nouveau poisson on tire au hasard une image, une vitesse, des dimensions et une position verticale de départ. A chaque rafraîchissement de l’image, on parcourt l’ensemble des poissons et on les déplace d’un nombre de pixels égal à leur vitesse. Pour commencer, il est conseillé de faire se diriger tous les poissons de gauche à droite. CREATION DES POISSONS Un Timer appelle régulièrement une fonction qui crée un poisson. Pour créer un poisson il faut utiliser la classe Loader : var nouveauPoisson:Loader = new Loader();
var adressePhoto:URLRequest = new URLRequest("dossier/poisson1.png");
nouveauPoisson.load(adressePhoto);
Mais le nom de l’image varie (poisson1.png, poisson2.png, etc). Il faut tirer un numéro d’image au hasard (voir la fiche ressource n°2). Si on a une variable numero représentant un entier : var adressePhoto:URLRequest = new URLRequest("dossier/poisson"+numero+".png");
DEPLACEMENT DES POISSONS On écoute l’évènement ENTER_FRAME. addEventListener(Event.ENTER_FRAME, deplacerPoissons);
La fonction deplacerPoissons examine chaque poisson et le déplace d’un nombre de pixels égal à sa vitesse. •
Comment conserver une référence sur les poissons ? Il faut créer un tableau pour y stocker les références sur les poissons : voir la fiche ressource n°1. •
Comment se souvenir de la vitesse de chaque poisson ? La encore, un tableau est indiqué. Si un poisson est à l’index 4 du tableau des poissons, sa vitesse est au même index du tableau des vitesses. POUR ALLER PLUS LOIN… Il faudrait détruire un poisson quand il quitte la scène, donner aux poissons des trajectoires plus complexes, faire entrer les poissons de l’extérieur de la scène… Et ajouter des bulles ?