Études supérieures - Les enseignements - Plateforme Temps Réel - Atelier Hypermédia - Director / Shockwave -

director[08] = #listes

Objectif
Comprendre le fonctionement des listes.

Code
Vous trouverez les codes sources de cette animation en bas de ce cours. Vous pouvez regarder une autre animation créé par un étudiant pendant ce cours à partir des mêmes principes de programmation.

Listes
Une liste, appellé aussi un Array dans d’autres langages, est un des principes les plus importants dans la programmation. Comme on a pu voir dans le chapitre sur l’automatisme, une propriété permet d’ajouter les fonctionnalités qui n’existait pas à la création de Director. mais plus que tout autre concept de programmation, la liste est ce qui nous permettra d’approcher les fonctionnalités les plus sophistiqués, complexes, ou surtout créatives. Une liste contient un ensemble de valeurs et se trouve à la base de pratiquement tout logiciel moderne : une image dans Photoshop est une liste, un tableau dans Excel est une liste — on pourrait même argumenter que les deux logiciels sont les mêmes, à part le fait que Photoshop affiche ses listes en pixels et Excel affiche ses listes en chiffres. même l’écran d’un ordinateur, basé sur l’idée d’un bit-map ou carte d’octet, n’est rien d’autre qu’une liste de valeurs, commençant dans le coin supérieure gauche et finissant sur le coin intérieur droite.

Une liste peut également être utilisée pour transformer un ensemble des points X,Y du mouvement de la souris en des fréquences sonores, comme dans le Audiovisuel Environment Suite de Golan Levin. Une liste n’est rien d’autre qu’un ensemble de valeurs ou d’éléments ordonancés dans un certain ordre : il n’y a qu’un pas pour transformer une liste d’un média (image) en un autre (son). Dans l’exercise suivante nous allons suivre les mouvements de la souris, comme dans le programme Loom de Levin. A vous ensuite de trouver des transductions intéressantes : transformer le mouvement en son, en couleur, en d’autres formes, en messages textuels, etc.

Qu’est-ce qu’une liste ?
Ouvrez la fenêtre messages, et tapez les instruction suivantes.

Comme vous pouvez voir dans cet exemple, une liste est déclarée par les signes [ et ], et d’habitude commence comme une liste vide. Après, nous pouvons ajouter une valeur dans la liste en tapant uneListe.append( nouvelleValeur ) ou en désignant directemment la valeur à la position voulue : uneListe[unePosition] = nouvelleValeur.

Démonstration
Nous allons maintenant créer un programme pour démonstrer les possibilités qu’offre les listes. Commencez, comme dans tous les exemples précédents, par la création d’un carré noir que nous plaçerons sur la Scène.

On ajoutera ensuite les instructions suivantes sur le Sprite.

Ce programme introduit deux nouvelles listes : une qui contiendra les coordonées horizontales de la souris, l’autre qui contiendra les coordonées vérticales de la souris. En cliquant sur la souris, ces coordonnées sont ajoutées dans la liste en utilisant la fonction append( the mouseH ).

Une fois que le programme voit au moins une valeur X dans la liste des coordonées, il utilise la propriété compteur pour relire chaque coordonée et passer à la suivante pour le prochain passage. Si le compteur a une valeur plus grande que le nombre d’éléments dans la liste, il reprend la valeur de 1 ; du coup il joue en boucles les coordonées.

Le Sprite prend les mêmes positions que chaque coordonée dans les deux listes.

Une note sur la cadence
Il est de ma préférence de travailler non pas en 24, 25 ou 30 images par seconde, mais en 60. Ces trois fréquences corréspondent à des choix et limitations techniques (utiliser les cycles 50 Hertz ou 60 Hertz par exemple, pour la cadence de la télévision) ; si nous devions faire des choix plus adaptés à notre espace technique, il s’agirait au moins de 60 images par seconde, plus proche de la vitesse de rafraichissement de l’écran.

Pour changer la cadence on ouvre les fonctions cachées au-dessus de la tête de lecture dans la fenêtre du Scénario. On double-clic ensuite dans la première case comme indiqué dans l’illustration suivante.

Ensuite on choisi la cadence voulue.

Changer la cadence à 60 images par seconde rend l’interactivé tout simplement plus agréable.


ESAAix - École supérieure d’art d’Aix-en-Provence - http://www.ecole-art-aix.fr