Flash 8, exemple de flou

5/5 (7 avis)

Vue 45 078 fois - Téléchargée 4 303 fois

Description

Un exemple de ce que l'on peut faire avec les nouveautés de flash 8 ! Ici le filtre blur (flou).
En fait c'est juste 8 images décalés, et quand on passe la souris sur l'une d'elles, les autres deviennent flou proportionnelemnt à leur éloignement.
Ce code n'est peut-être pas la façon la + simple pour faire cette effet mais je vois pas comment faire autrement...
J'ai essayé de le commenter le mieux possible mais si c'est pas clair, demandez moi !
Je mets le code pour ceux qui n'ont pas flash 8 mais qui veulent le voir...

Source / Exemple :


// Il y a 8 clips, nommés clip1, clip2, clip3,...
// Nombre de couches :
nombre = 8;
// On dit que "blur" est un filtre de flou
blur = new flash.filters.BlurFilter(0, 0, 1);
// Une boucle pour tester chaque clip :
for (i=1; i<=nombre; i++) {
	// La variable varI de chaque clip est égale à i (pour pouvoir se reservir de
	// la variable i dans le onRollOver qui suit) :
	this["clip"+i].varI = i;
	// Quand on survole un des clips :
	this["clip"+i].onRollOver = function() {
		// Les valeur du flou blur, x et y, sont égaux à 0 :
		blur.blurX = blur.blurY=0;
		// On applique le filtre blur sur le bouton survolé, pour qu'il devienne net :
		this.filters = [blur];
		// Une boucle qui va servire à donner aux clips non suvolé une valeur de + en + flou :
		for (t=1; t<=nombre; t++) {
			// Les valeur du flou blur x et y sont égale à t fois 5, pour que +
			// le nom du clip à un chiffre éloigné de 0, plus il est flou :
			blur.blurX = blur.blurY=t*5;
			// On crée 2 variables pour que les clips supérieurs du clip survolés soit + flous :
			autre1 = this.varI+t;
			// Pareille pour les clips inférieurs :
			autre2 = this.varI-t;
			// On applique les filtres sur les clips supérieurs et inférieurs de celui survolé :
			_root["clip"+autre1].filters = [blur];
			_root["clip"+autre2].filters = [blur];
		}
	};
}
// Voila voila :-D

Conclusion :


C'est un petit exemple mais ca montre une des possibilités des nouveautés de flash 8 !
Voila voila, à vos commentaires !

Codes Sources

A voir également

Ajouter un commentaire Commentaires
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
10 juil. 2007 à 15:55
salut!! ca a l'air pas mal ton truc!! mais pourrais tu me dire dans quel dossier incorporer le code stp?

Merci d'avance
Wally57 Messages postés 71 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 12 juillet 2006
1 nov. 2005 à 21:53
Je connais pas encore les prototypes, je vais étudier ça, merci !
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
1 nov. 2005 à 21:08
var nbrClip:Number = 5;
var blurFilter:Object = new flash.filters.BlurFilter();
blurFilter.quality = 3;
bt = function () {
};
bt.prototype = new MovieClip();
bt.prototype.onLoad = function() {
//tu positionne le clip en fonction de son numéro
this._x = 200+this.id*-50;
this._y = 100+this.id*-25;
};
bt.prototype.onRollOver = function() {
this.filters = [0];
// tu applique le flou en fonction ---- pas terrible ici
for (t=1; t<nbrClip; t++) {
blurFilter.blurX = blurFilter.blurY=2*this.id;
_level0["clip"+t].filters = [blurFilter];
//flou nul pour le clip survolé
this.filters = [0];
}
};
//avec "clip" comme identifiant dans la biblio tu duplique le clip
Object.registerClass("clip", bt);
//attache movie pour placer les clip sur la scène
for (i=1; i<nbrClip; i++) {
attachMovie("clip", "clip"+i, i);
//crée une var id pour de reference
this["clip"+i].id = i;
}

un truc comme ca
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
1 nov. 2005 à 20:28
tu crée un proto
Wally57 Messages postés 71 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 12 juillet 2006
31 oct. 2005 à 18:58
Bah tant que ça part pas dans l'excès et que les filtres ne sont pas utilisés à tout va...
Sinon Mafassure , il y a une methode pour ne pas mettre le onRollOver dans une boucle ?
Vu que le ça concerne tous les clips, je connais pas d'autres solutions que la boucle...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.