Bonjour,
J'ai l'impression que beaucoup de gens n'arrivent pas bien à comprendre les principes de base de la programmation AS3.
Globalement c'est toujours pareil.
Principe:I - Il faut créer une variable en mémoire qui est toujours une copie (occurrence) d'un objet original. Cet objet peut être :
- Un MovieClip (MC) à toi dans la bibliothèque
(il faut cocher exporter pour ActionScript, Exporter dans la 1 image,
et avoir un nom dans la case classe)
- Un composant que tu as déposé dans la bibliothèque
- Un objet de programmation (exp: Sprite, Video....)
II - Il faut ensuite paramétrer cette copie (taille, position etc....)
III - Il faut l'afficher sur la scène
RéalisationCette manipulation, est sous forme de code, la même chose que glisser un Movieclip de la bibliothèque sur la scène sauf que là le MovieClip n'est pas encore visible sur la scène.
I - La syntaxe pour créer la copie en mémoire (occurrence) est la suivante :
- var le nom que je donne à ma copie:son type = new son type ()
exemple si j'ai un MC nommé logo cela donne var copieLogo:Logo = new Logo()
Dans le cas d'un composant c'est pareil
exemple var copieAscenseur:UIScrollBar = new UIScrollBar();
Dans le cas d'un objet de programmation itou
exemple var copieSprite:Sprite = new Sprite()
C'est comme modifier la taille la position etc sur la scène avec les outils habituels de l'interface.
II - Maintenant je manipule ma copie
- Là il faut utiliser en général les propriétés de ta copie
x,y pour la position
width, height pour la taille
alpha pour la transparence
rotation pour la rotation
scaleX, scaleY grossir ou diminuer
visible=true ou false pour afficher ou masquer
etc... à adapter en fonction du type de la copie (occurrence)
exemple si j'ai une copie nommé copieLogo
//position sur la scene
copieLogo.x=100
copieLogo.y=250
//rotation
copieLogo.rotation=30
Dans le cas d'un composant c'est pareil si j'ai une copie
copieAscenseur exemple //position sur la scene
copieAscenseur.x=45
copieAscenseur.y=50
etc......
C'est comme si le MovieClip que j'ai glissé sur la scène à partir de la bibliothèque devenait soudainement visible
III - Enfin j'affiche sur la scene
addChild(nom de mon occurrence) pour poser directement sur la scene
addChildAt(nom de mon occurrence, profondeur) pour mettre directement
sur la scène a une profondeur précise
ou lorsque je souhaite emboiter mes éléments
nom du sprite conteneur.addChild(nom de mon occurrence)
Donc cela donne toujours plus ou moins la même chose.
Pseudo Code//je fabrique ma copie (occurrence)
var macopie:type = new type()
//je parametre ma copie (occurrence)
macopie.x=valeur
macopie.y=valeur
macopie.rotation=valeur
macopie.alpha=valeur
etc.....
// j'affiche ma copie sur la scène
addChild(macopie)
C'est simple AS3 non !!!!!