Quelques bonnes pratiques en ActionScript3

Voici quelques bonnes pratiques nécessaire à adopter lors de développement d'application en ActionScript3.

Tout d'abord, il est nécessaire de toujours typer ses variables afin d'optimiser les performances et garantir une meilleure gestion des erreurs à la compilation et  à l'exécution. Par exemple, préférer

var i : int = 0; 

à

var i = 0;

Par contre, si une variable peut contenir n'importe quel type de données, nous pouvons utilisez le type *.

Lorsque vous utilisez une boucle, il est préférable de passer par une variable de référence, pour éviter que la machine virtuelle ne réévalue la longueur à chaque itération. Exemple :

Lire la suite >>


Mettre une image en noir et blanc

Pour rendre une image en noir et blanc sans passer par la création d'une nouvelle image, il faut utiliser la propriété filters d'un objet d'affichage. Il faut lui passer en paramètre un tableau de ColorMatrixFilter, qui permet d'appliquer une transformation de matrice aux couleurs RVBA (Rouge, Vert, Bleu et Alpha) sur l'image d'entrée afin d'obtenir un résultat intégrant un nouvel ensemble de valeurs.

Cette classe permet d'effectuer des modifications de saturation et des rotations de teinte, de définir la luminance de l'alpha et de produire d'autres effets. Vous pouvez appliquer le filtre à tout objet d’affichage (autrement dit, aux objets héritant des propriétés de la classe DisplayObject), tels que MovieClip, SimpleButton, TextField et Video, ainsi qu’aux objets BitmapData.

Autant vous dire qu'on peut faire ce qu'on veut à partir de cette fonction.
var a : Array< Float > = new Array();

a = a.concat([0.3086, 0.6094, 0.0820, 0.0, 0.0]); // rouge
a = a.concat([0.3086, 0.6094, 0.0820, 0.0, 0.0]); // vert
a = a.concat([0.3086, 0.6094, 0.0820, 0.0, 0.0]); // bleu
a = a.concat([0.0, 0.0, 0.0, 1.0, 0.0]); // alpha

var filtre : ColorMatrixFilter= new ColorMatrixFilter(a);
monClip.filters = [filtre];

Lire la suite >>


Intégrer Mochiads à un projet haXe/Flash

Dernièrement, j'ai voulu intégrer Mochiads dans un projet Flash développé avec haXe. Mais après mettre rendu sur le site, je me suis aperçu, qu'aucune version haxe n'existait. J'ai donc demandé à notre cher ami Google ce qu'il en pensait. Après mainte recherche, je suis tombé sur le site de Viktor Hesselboom qui explique comment rendre accessible les librairies de Mochiads.

Voici comment les intégrer et les utiliser.

Pré-requis :


Intégrer les classes Mochiads à notre projet

Décompressez l'archive contenant les librairies de Mochiads, puis lancez la commande suivante :

compc -source-path . -output mochi.swc -include-classes mochi.as3.MochiAd mochi.as3.MochiDigits mochi.as3.MochiScores mochi.as3.MochiServices
(compc se trouvant dans le dosser bin du sdk de Flex si vous n'avez pas défini de variable globale)

Vous avez maintenant un fichier swc.

Un fichier swc est une archive contenant un fichier swf correspondant aux librairies, ainsi que d'autres ressources ne nous intéressant pas.

Récupérez le fichier library.swf (sous Windows, renommez le fichier en .zip).
Nous allons maintenant générer les entêtes des classes avec la commande :

Lire la suite >>


AS3 : Passer un paramètre à un listener

Qui n'a jamais eu envi de passer un paramètre lors d'un évènement dans une application Flash ?
Voici la solution !

Prenons par exemple, un évènement clic. Nous avons alors un écouteur de ce type :
addEventListener(MouseEvent.CLICK, maFonction);
Avec la fonction :
private maFonction(e:MouseEvent):void {
    ... 
}
Maintenant, pour passer un paramètre :
addEventListener(MouseEvent.CLICK, function(e:*):void { maFonction(e, maVar) });

private maFonction(e:MouseEvent, maVar:String):void {
    trace(maVar);
}

Lire la suite >>


Changer la couleur d'un élément en AS3

Il peut s'averer nécessaire de changer la couleur d'un élément dans un jeu par exemple pour différencier deux éléments selon les joueurs.
Voici comment faire sans créer plusieurs images de couleurs différentes.
// récupération de la couleur de départ de l'objet
var myColor:ColorTransform = myObject.transform.colorTransform;
// on lui affecte maintenant la couleur qu'on souhaite
myColor.color = 0x000000; // la valeur hexa de ma couleur
// puis on l'applique à notre objet
myObject.transform.colorTransform = myColor;
Si vous souhaitez utiliser les couleurs RGB, il faut créer une instance de la classe colorTransform en lui passant les paramètres RGB de votre couleur :
myColor : ColorTransform = new ColorTransform(0,0,0,1,redValue,greenValue,blueValue,0);
myObject.transform.colorTransform = myColor;
Avec redValue, greenValue et blueValue des variables Float (haXe) ou Number (AS3).

Lire la suite >>


Showing 21 - 25 of 44 Articles | Page 5 of 9