II. Les langages MXML & ActionScript▲
II-A. Le langage MXML▲
II-A-1. Qu'est ce donc ?▲
Le langage MXML est destiné à garder un code propre et accessible d'accès même dans des projets de très grande envergure. Il se base sur XML et sera compilé en ActionScript par le compilateur de Flex SDK.
II-A-2. Les bases▲
Le langage MXML étant basé sur XML, il suit ses contraintes, notamment :
- Chaque balise doit être fermée : <balise/> ou <balise></balise> .
- La valeur des arguments des balises doivent être entre guillemets.
II-A-3. Comprendre le fonctionnement à travers un exemple simple ▲
Le principe de MXML est simple : à une balise correspond une classe ActionScript
Ainsi, un composant Button sera défini comme suit :
<
mx:
Button id=
«monBouton» label=
"Je suis un bouton"
/>
Label est une propriété du composant Button, il s'agit du texte qui s'affiche sur le bouton Et en toute logique, ce qu'en ActionScript 3.0, vous auriez écrit :
monBouton.
x =
100
;
monBouton.
y =
100
;
, vous pouvez maintenant l'intégrer dans la balise du composant :
<
mx:
Button id=
«monBouton» label=
"Je suis un bouton"
x=
«100
» y=
«100
» />
Cela revient au même, puisque le code sera compilé en ActionScript !
De même, pour établir l'interactivité du bouton, ce qu'en ActionScript 3.0 vous auriez écrit :
monBoutton.
addEventlListener
(
MouseEvent.
DOWN
,
onClick);
, sera intégré dans la balise comme suit :
<
mx:
Button id=
"monBouton"
label=
"Je suis un bouton"
x=
«100
» y=
«100
» click=
"onClick"
/>
, avec onClick en tant que fonction qui se déclenchera au clic sur le bouton.
Mais où la place-t-on cette fameuse fonction onClick ?
Deux possibilités s'offrent à vous, selon l'organisation de votre projet :
Soit, directement dans le fichier mxml, entre les balises :
<
mx:
Script>
////////// PROBLEME D'INCLUSION DE LA BALISE CDATA DANS L'EDITEUR !
<![
CDATA[
public
function
onClick (
e:
Event)
{
// le code
}
</
mx:
Script>
(Notez que la balise CDATA permet d'introduire des caractères spéciaux présents dans l'ActionScript dans le code MXML, qui perturberaient la structure du document sans cela).
La seconde solution consiste à importer la classe contenant la fonction :
<
mx:
Script>
import
com.
monPackage.
MaClasse;
</
mx:
Script>
II-B. Le langage ActionScript 3.0▲
L'ActionScript 3.0 est la dernière version du langage de programmation de Flash et maintenant de Flex. Avec de nombreuses nouveautés introduites pas Adobe, il se démarque de l'ActionScript 1 et de l'ActionScript 2 (où étaient apparues les classes) en temps que véritable langage de programmation orientée objet (POO).
Dans les nouveautés, nous pouvons citer :
- Une nouvelle architecture, beaucoup plus logique et puissante que la précédente.
- La possibilité d'utiliser des expressions régulières.
- L'usage du XML en natif, c'est à dire que l'on peut à présent accéder facilement aux éléments d'un XML chargé, comme aux propriétés d'un objet
- Un nouveau système de gestion d'événements.
De plus, l'ActionScript 3.0 bénéficie des nouveautés introduites par Adobe Flash 8 telles que les classes Bitmap et BitmapData qui permettent de travailler facilement sur des images bitmap.
Pour plus d'informations et de cours sur le langage ActionScript 3.0, vous pouvez vous rendre :