La création de classes personnalisées
CHAPITRE 16
373
• L’unique méthode affichageTemps() de la classe Convert() se termine par l’instruction
return afin de renvoyer le résultat du calcul sous la forme HH:MM:SS
(heures:minutes:secondes).
Instancier une classe
Comme nous le précisions en introduction à ce chapitre, nous allons apprendre maintenant à
instancier une classe. Pour cela, nous devons faire référence au mot Convert, suivi d’une
paire de parenthèses.
Convert()
Commencez par définir un nom d’instance (ou nom de variable) suivi du typage correspondant à la classe que nous allons instancier.
var tempsChanson1:Convert
Ajoutez ensuite la classe à laquelle vous voulez faire référence. Précisez, par la même
occasion, la valeur à passer en paramètres entre les parenthèses. Pour convertir et obtenir
l’affichage de trois durées, voici comment procéder.
var tempsChanson1:Convert = new Convert(189);
var tempsChanson2:Convert = new Convert(257);
var tempsChanson3:Convert = new Convert(345);
affichageDureeChanson1.text = tempsChanson1.affichageTemps();
affichageDureeChanson2.text = tempsChanson2.affichageTemps();
affichageDureeChanson3.text = tempsChanson3.affichageTemps();
Précisons qu’affichageDureeChanson1 est le nom d’occurrence d’un texte dynamique
présent sur la scène.
Rattacher une classe à un symbole
Fichiers de référence : Chapitre16/JeuCarte.fla et Chapitre16/ModeleCarte.as
Nous venons d’aborder, dans le développement précédent, la technique qui consiste à
créer puis appeler une classe. Nous allons à présent découvrir, dans l’exemple qui suit,
qu’un symbole peut posséder sa propre classe sans qu’un appel soit nécessaire.
Vous devez réaliser un jeu de cartes où l’utilisateur doit effectuer des glisser-déposer
d’occurrences (les cartes) sur la scène. Afin de ne pas devoir programmer la mobilité de
Remarque
Dans notre exemple, nous convertissons des secondes, mais nous pourrions tout aussi bien convertir des
millisecondes ; il faudrait alors adapter le code de votre classe de la façon suivante :
minutes=Math.floor(tempsEcoule / 1000/ 60);
secondes=Math.floor(tempsEcoule / 1000 % 60);
CHAPITRE 16
373
• L’unique méthode affichageTemps() de la classe Convert() se termine par l’instruction
return afin de renvoyer le résultat du calcul sous la forme HH:MM:SS
(heures:minutes:secondes).
Instancier une classe
Comme nous le précisions en introduction à ce chapitre, nous allons apprendre maintenant à
instancier une classe. Pour cela, nous devons faire référence au mot Convert, suivi d’une
paire de parenthèses.
Convert()
Commencez par définir un nom d’instance (ou nom de variable) suivi du typage correspondant à la classe que nous allons instancier.
var tempsChanson1:Convert
Ajoutez ensuite la classe à laquelle vous voulez faire référence. Précisez, par la même
occasion, la valeur à passer en paramètres entre les parenthèses. Pour convertir et obtenir
l’affichage de trois durées, voici comment procéder.
var tempsChanson1:Convert = new Convert(189);
var tempsChanson2:Convert = new Convert(257);
var tempsChanson3:Convert = new Convert(345);
affichageDureeChanson1.text = tempsChanson1.affichageTemps();
affichageDureeChanson2.text = tempsChanson2.affichageTemps();
affichageDureeChanson3.text = tempsChanson3.affichageTemps();
Précisons qu’affichageDureeChanson1 est le nom d’occurrence d’un texte dynamique
présent sur la scène.
Rattacher une classe à un symbole
Fichiers de référence : Chapitre16/JeuCarte.fla et Chapitre16/ModeleCarte.as
Nous venons d’aborder, dans le développement précédent, la technique qui consiste à
créer puis appeler une classe. Nous allons à présent découvrir, dans l’exemple qui suit,
qu’un symbole peut posséder sa propre classe sans qu’un appel soit nécessaire.
Vous devez réaliser un jeu de cartes où l’utilisateur doit effectuer des glisser-déposer
d’occurrences (les cartes) sur la scène. Afin de ne pas devoir programmer la mobilité de
Remarque
Dans notre exemple, nous convertissons des secondes, mais nous pourrions tout aussi bien convertir des
millisecondes ; il faudrait alors adapter le code de votre classe de la façon suivante :
minutes=Math.floor(tempsEcoule / 1000/ 60);
secondes=Math.floor(tempsEcoule / 1000 % 60);
