IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Flash 8

FAQ Flash 8Consultez toutes les FAQ

Nombre d'auteurs : 6, nombre de questions : 84, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireActionScriptLes MovieClips

Pour cela, il suffit de créer un clip vide, de dessiner le bouton, puis de lui affecter un comportement de boutons grêce aux événements :

  • onPress : Evénement sur le clic
  • onRelease : Evénement sur le relâcher du bouton
  • onReleaseOutside : Evénement sur le relâcher du bouton en dehors du bouton
  • onRollOver : Evénement sur le survol du bouton par la souris
  • onRollOut : Evénement sur la sortie de la souris
 
Sélectionnez
// On crée un clip vide dans le clip courant, et on lui affecte le prochain niveau disponible
var mc:MovieClip = this.createEmptyMovieClip("mBouton", this.getNextHighestDepth());
 
// On dessine le bouton (ici un carré de 100x100 placé aux coordonnées (10,10))
mc.lineStyle(1, 0xffffff, 100);
mc.beginFill(0xffcc00, 50);
mc.moveTo(10,10)
mc.lineTo(10,110);
mc.lineTo(110,110)
mc.lineTo(110,10);
mc.lineTo(10,10);
mc.endFill();
 
// On lui affecte les comportements de bouton:
mc.onPress = function() { trace("onPress"); }
mc.onRelease = function() { trace("onRelease"); }
mc.onReleaseOutside = function() { trace("onReleaseOutside"); }
mc.onRollOver = function() { trace("onRollOver"); }
mc.onRollOut = function() { trace("onRollOut"); }

Remarque : Nous aurions pu charger un clip plutôt que d'en créer un. Les comportements de type bouton auraient été les mêmes.

Créé le 24 avril 2006  par Grégory Dumas

Pour cela, nous avons à notre disposition la classe ColorTransform.
Cette classe permet de modifier la couleur d'un clip en fonction de ses couleurs d'origine.
Lorsqu'un objet ColorTransform est appliqué à un clip, une nouvelle valeur est calculée pour chaque canal de couleur de la manière suivante :

  • Nouvelle valeur de rouge = (ancienne valeur de rouge * redMultiplier)) + redOffset
  • Nouvelle valeur de vert = (ancienne valeur de vert * greenMultiplier)) + greenOffset
  • Nouvelle valeur de bleu = (ancienne valeur de bleu * blueMultiplier)) + blueOffset
  • Nouvelle valeur alpha = (ancienne valeur alpha * alphaMultiplier)) + alphaOffset
 
Sélectionnez
import flash.geom.ColorTransform;
import flash.geom.Transform;
 
var colorTrans:ColorTransform = new ColorTransform(1, 0.5, 0.25, 1, 15, -10, 40, 0);
// voir la documentation (F1) pour les arguments
var trans:Transform = new Transform(monClip);
trans.colorTransform = colorTrans;

Si vous souhaitez attribuer à votre clip une couleur indépendante de sa couleur d'origine, il suffit d'appliquer des coefficients "Multiplier" nuls.

 
Sélectionnez
import flash.geom.ColorTransform;
import flash.geom.Transform;
 
// Couleur souhaitée : 0xcc99ff
var colorTrans:ColorTransform = new ColorTransform(0, 0, 0, 0, 0xcc, 0x99, 0xff, 255);
var trans:Transform = new Transform(monClip);
trans.colorTransform = colorTrans;

Bien que plus simple d'utilisation (et toujours fonctionnelle), la classe Color étant désormais dépréciée, nous ne vous la conseillons pas.

Créé le 24 avril 2006  par Grégory Dumas

Pour appliquer un ou plusieurs filtres dynamiquement, il faut tout d'abord importer les package correspondant aux filtres souhaités :

 
Sélectionnez
import flash.filters.BevelFilter; // Effet biseau
import flash.filters.BlurFilter; // Effet de flou
import flash.filters.DropShadowFilter; // Effet d'ombre portée
import flash.filters.GlowFilter; // Effet de rayonnement
import flash.filters.GradientBevelFilter; // Effet de biseau en dégradés
import flash.filters.GradientGlowFilter; // Effet de rayonnment en dégradé
// ou bien 
import flash.filters.*;

On crée notre/nos filtre(s) et un tableau afin de les rassembler.
Par exemple, un effet biseau et un effet d'ombre portée. Regardez la documentation (F1) pour connaître les paramètres à passer en arguments.

 
Sélectionnez
var bevelFilter:BevelFilter = new BevelFilter(5, 90, 0xffff00, 1, 0x0000ff, 1, 10, 10, 1, 3, "inner", false);
var glowFilter:GlowFilter  = new GlowFilter(0x000000, 1, 15, 15, 1, 3, false, false);
var aFilters:Array = new Array();
aFilters.push(bevelFilter);
aFilters.push(glowFilter);

Enfin on associe le tableau créé à notre clip :

 
Sélectionnez
mMonClip.filters = aFilters;

Résumé du code de notre exemple :

 
Sélectionnez
import flash.filters.BevelFilter; // Effet biseau
import flash.filters.GlowFilter; // Effet d'ombre portée
 
var bevelFilter:BevelFilter = new BevelFilter(5, 90, 0xffff00, 1, 0x0000ff, 1, 10, 10, 1, 3, "inner", false);
var glowFilter:GlowFilter  = new GlowFilter(0x000000, 1, 15, 15, 1, 3, false, false);
var aFilters:Array = new Array();
aFilters.push(bevelFilter);
aFilters.push(glowFilter);
mMonClip.filters = aFilters;


Cliquez pour lire la vidéo



Créé le 23 avril 2006  par Grégory Dumas

Lien : Quels sont les différents filtres disponibles ?
Téléchargement : filters.fla

Il suffit d'utiliser la function prevFrame prévue à cet effet

Exemple :

 
Sélectionnez
function recule(mc:MovieClip) {
    mc.onEnterFrame = function() {
        if(this._currentframe == 1) {
            // Le clip est sur la 1ère image, on retourne à la dernière
            this.gotoAndStop(this._totalframes);
        } else {
            this.prevFrame();
        }
    }
}
Créé le 5 juin 2006  par Bolo Michelin, Grégory Dumas

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003-2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.