Comment utiliser MovieClip.forceSmoothing

jobe06 Messages postés 47 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 2 novembre 2011 - 9 févr. 2011 à 00:14
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 9 févr. 2011 à 12:45
Bonjour je suis entrain de faire une animation flash, sur le swf principal je load dautre swf, dans lesquels je load des images...

Sur mon swf principale je load mes swf dans des clip avec une rotation de 3 degres, et la arrive mon probleme, les images sont sisailler, et les police de mauvaise qualites...

Je me suis renseigner sur google, ils disent quil faut utiliser MovieClip.forceSmoothing, mais ma question cest ou et commebt lutiliser, est ce que je doit lutiliser a chaque fois que je load quelque chose (sur chaque image, et chaque swf), est ce que sur les images sufi? Ou doit je juste le mettre sur le mc de mon swf principale dans lequel je charge mes swf....?

Car si je doit le mettre a chaque fois que je charge quelque chose ca risque de faire enorment de chose....

Pourriez vous maider?

5 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
9 févr. 2011 à 06:38
Hello,

si tu es en as3, jettes un œil à la doc -> lien
si tu es en as2, utilises MovieClipLoader() avec LoadBitmapSmoothed :
import flash.display.*;

function loadBitmapSmoothed(url:String, cible:MovieClip) { 
var bmc:MovieClip = cible.createEmptyMovieClip("bmc", cible.getNextHighestDepth()); 

var listener:Object = new Object();

listener.tmc = cible;

listener.onLoadProgress = function(mc:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void{
var pourcentage:Number = bytesLoaded/bytesTotal*100;
if(pourcentage<100){
_root.clipRoue._visible = true;
}
if(pourcentage == 100){
_root.clipRoue._visible = false;
}
}

listener.onLoadInit = function(mc:MovieClip){
mc._visible = false;
_root.monClip.clip2._x = _root.monClip.clip2._x-mc._width/2;
_root.monClip.clip2._y = _root.monClip.clip2._y-mc._height/2;

bitmap.dispose();
bitmap = new BitmapData(mc._width, mc._height, true);

this.tmc.attachBitmap(bitmap, this.tmc.getNextHighestDepth(),"auto",true); 
bitmap.draw(mc);
}	

var loader:MovieClipLoader = new MovieClipLoader(); 
loader.addListener(listener); 
loader.loadClip(url, bmc);
}
loadBitmapSmoothed("tof.jpg", monClip.clip2);


A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
jobe06 Messages postés 47 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 2 novembre 2011
9 févr. 2011 à 08:45
oulala, ca a l'air vachement compliqué quand meme, j'ai oublier de prevenir que j'etait debutant... j'ai deja fait toute mon anime, et je presume que je vais devoir modifié pratiquement tout ce que j'ai deja fait, car j'ai utiliser loadmovie au lieu de moviecliploader... je vais essayer de voir commen je m'en sort.

Merci de ton aide.
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
9 févr. 2011 à 09:45
Tout dépend si tu codes en as2 ou en as3, si tu codes en as2, il faut t'inspirer du code que je t'ai donné plus haut : tu adaptes la fonction function loadBitmapSmoothed(url:String, cible:MovieClip) suivant tes besoins (en remplacement de LoadMovie()), puis tu appelles ta fonction lorsque besoin est en indiquant les cibles :
loadBitmapSmoothed("la_photo_a_charger.jpg", le_clip_conteneur_voulu);


Pour l'as3 tu rajoutes simplement une ligne de code.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
jobe06 Messages postés 47 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 2 novembre 2011
9 févr. 2011 à 11:06
ya -t-il moyen de faire ca juste pour le dernier import? c 'est a dire pour le swf finale que j'importe ou il faut faire ca pour chaque image?

Je te donne l'adresse ou tu pe voir l'anime

bexigraph
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
9 févr. 2011 à 12:45
Re,

si as2, donc si LoadBitmapSmoothed() -> comme le nom l'indique c'est pour lisser des bitmaps, par conséquent tu ne pourras (à priori je pense) pas l'appliquer à un clip.
si as3 idem...

De toute façon il n'y a aucune raison de lisser des clips dans la mesure où ceux-ci sont composés d'éléments vectoriels en majorité -> fais un lissage dynamique uniquement sur les images externes qui y sont chargées.
Par ailleurs pour régler le problème des cadres noirs qui pixellisent lorsqu'ils sont inclinés, je pencherai plutôt pour un problème de coordonnées ou d'angulation -> mets des valeurs rondes pour les coordonnées et les angles.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
Rejoignez-nous