La classe Document dans Flash 9

Olivier Bugalotto

Présentation de la classe Document qui permet de séparer proprement le code de l'animation sous Flash 9. ♪

- Titre : La classe Document dans Flash 9

- Auteur : Olivier Bugalotto

- Parution : 22 février 2007

- Licence : Copyright ® 2006-2007 Olivier Bugalotto. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Avant Flash 9

- II. Avec Flash 9

- III. Exemple

I - Avant Flash 9

Dans l'environnement actuel de Flash 8 et des précédents, nous centralisons le code dans l'image 1 d'un claque appelé « action », « code » ou « script ».

Dans le cas des plus fous d'entre nous, une classe contenant une méthode statique qui sert de point d'entrée, souvent nommée main ou run :

class Application {
public function Application() {
}

static public function main(mc:MovieClip):Void {
// instancier la classe Application ici
}
}

II - Avec Flash 9

Maintenant dans flash 9, il existe une autre manière de placer du code sur la scène avec la classe document, il suffit d'indiquer dans le panneau des propriétés de la scène une classe héritant de la classe MovieClip :

Voici le code de la classe Application :

package {
import flash.display.MovieClip;
import flash.display.BitmapData;
import flash.display.Bitmap;

public class Application extends MovieClip {
private const MAX_IMG:uint = 6;
public var xPos:Number = 10;
public var yPos:Number = 10;
public var counter:Number = 1;
public var columns:Number = 3;
public var margin:Number = 10;

public function Application() {
for(var i:uint = 0; i < MAX_IMG; i++) {
var calvin:BitmapData = new Calvin();
var bitmap:Bitmap = new Bitmap(calvin);

bitmap.x = xPos;
bitmap.y = yPos;
xPos += bitmap.width + margin;
if(counter % columns == 0) {
yPos += bitmap.height + margin;
xPos = margin;
}

addChild(bitmap);
counter++;
}
}
}
}

Une manière de prouver que la scène est une instance de la classe Application, il vous suffit de faire sur la scène :

trace(this is Application); // ou trace(this);

Nous avons ainsi séparé le code de notre présentation…

III - Exemple

Vous trouverez le code source de l'exemple ici : Application (Miroir)