Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/09/2007, 17h20   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1
Points : 1
Points : 1
Par défaut Pb en utilisation de la fonction flou Flash 8

bonjour,

Débutant en flash j'essaye de faire un flou sur un objet.

je charge une image avec la fonction createEmptyMovieClip.
Puis j'applique un flou sur l'image avec
image.filters = [new BlurFilter(20, 20, 2)];

Et ca ne marche pas !! Alors que si je mets un clip sur mon anim et que j'applique la même fonction cela marche...

Est-ce que quelqu'un peut m'aider. Merci par avance !
patouille68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 07h42   #2
Membre Expert
 
Avatar de jean philippe
 
Inscription : septembre 2006
Messages : 2 062
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2 062
Points : 2 075
Points : 2 075
Envoyer un message via MSN à jean philippe Envoyer un message via Skype™ à jean philippe
slut
tu veux dire que tu fais appel à une image externe ?
si oui, montre nous le reste du code
__________________
mon Blog
jean philippe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 08h47   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 12
Points : 4
Points : 4
Voici le code.

var img:MovieClip = this.createEmptyMovieClip("img", this.getNextHighestDepth());

this.createEmptyMovieClip("img", this.getNextHighestDepth());
img.loadMovie("2.jpg");

import flash.filters.BlurFilter;
import flash.display.BitmapData;

img.filters = [new BlurFilter(20, 20, 2)];

J'ai testé this.filters = [new BlurFilter(20, 20, 2)]; et la ca marche mais sur toute l'anim ! je cale grave. Merci
cega68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 10h25   #4
Membre actif
 
Inscription : avril 2007
Messages : 126
Détails du profil
Informations personnelles :
Âge : 36
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2007
Messages : 126
Points : 150
Points : 150
C'est parce que tu appliques le filtre juste après avoir lancé le chargement du clip. Or, à ce moment là, le clip n'est pas encore chargé. Tu as un problème de synchronisation... pour t'en convaincres, essaye, comme ça ça marche:
Code :
1
2
3
img.onRelease = function (){
	img.filters = [new BlurFilter(0, 20, 2)];
}
J'ajoute que tes deux premières lignes sont redondantes:
Code :
1
2
3
var img:MovieClip = this.createEmptyMovieClip("img", this.getNextHighestDepth());
 
this.createEmptyMovieClip("img", this.getNextHighestDepth());
seule la première suffit.

Il faut que tu crées un évènement du genre "quand le clip est chargé, alors seulement tu appliques le filtre". Ce que je ne crois pas que tu puisses faire avec un loadMovie(). Mais par contre tout à fait réalisable avec un MovieClipLoader().

Code :
1
2
3
4
5
6
7
8
9
10
11
12
import flash.filters.BlurFilter;
 
var loadListener:Object = new Object();
loadListener.onLoadInit = function(target_mc:MovieClip):Void {
     mc.filters = [new BlurFilter(20, 20, 2)];
}
 
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);
 
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mcLoader.loadClip("2.jpg", mc);
Essaye avec onLoadComplete, tu constateras que ça ne marche pas... parceque lorsque c'est "complete", le clip n'est pas encore créé, juste chargé. c'est "init" qui signifie qu'il est créé.

En fait, il ne faut jamais oublier qu'un chargement prend du temps. Même s'il parrait instantané. De plus, si tu bosses sur ton disque dur, mais qu'après tu mets en ligne, n'oublie pas que ce temps de chargement sera signifiant.
David Buff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 16h53   #5
Invité de passage
 
Inscription : septembre 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 12
Points : 4
Points : 4
Merci beaucoup pour votre aide précieuse !!!!
cega68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h09.


 
 
 
 
Partenaires

Hébergement Web