begin process at 2012 05 26 16:49:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Centrer un bitmap dans un clip avec MovieClipLoader et LoadBitmapSmoothed


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Centrer un bitmap dans un clip avec MovieClipLoader et LoadBitmapSmoothed

mercredi 31 mars 2010 à 14:11:43 | Centrer un bitmap dans un clip avec MovieClipLoader et LoadBitmapSmoothed

BBFUNK01

Bonjour à toutes et à tous,

je suis en train de réaliser un diaporama en as2. Afin d'avoir un rendu satisfaisant quand aux images loadées j'utilise un MovieCLipLoader avec l'option LoadBitmapSmoothed. Pour ce qui est du chargement des images tout fonctionne à merveille, seulement je souhaite intégrer des commandes à mon diaporama : une fonction zoom, une fonction rotation gauche, et une fonction rotation droite. Le hic c'est que je ne parviens pas à centrer le bitmap dans le clip conteneur : le point de rotation du clip conteneur est en haut à gauche une fois le bitmap loadé, pour précision : je charge les bitmap dans un emptyMovieClip (donc par conséquent le point de rotation par défaut d'un emptyMovieClip est à priori le centre si je ne m'abuse?). J'ai essayé de charger le bitmap dans un clip sur la scène qui est en fait un rectangle de 750x550 pixels avec le point de rotation défini en son centre, et là encore, le bitmap se charge en haut à gauche. Bref, mes multiples tentatives sont restées vaines, donc si jamais quelqu'un a déjà rencontré ce problème et peut m'orienter vers la solution ce serait génial.

Voici le code en question :
Code ActionScript :
tn_group["tn"+i].tn_button.onRelease = function(){
		_root.p = this._parent.tn_no;
		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;
		mc._x = mc._width/2;
		mc._y = mc._height/2;
		myMC._x = clipImage._x-mc._width/2;
		myMC._y = clipImage._y-mc._height/2;
		if(mc._width > 750){
			myMC._xscale = 750/mc._width*100;
			myMC._yscale = myMC._xscale;
			myMC._x = clipImage._x-mc._width/2*750/mc._width;
			myMC._y = clipImage._y-mc._height/2*750/mc._width;
		}
		if(mc._height > 550){
			myMC._yscale = 550/mc._height*100;
			myMC._xscale = myMC._yscale;
			myMC._x = clipImage._x-mc._width/2*550/mc._height;
			myMC._y = clipImage._y-mc._height/2*550/mc._height;
		}
		
		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);
		}
		createEmptyMovieClip("myMC",getNextHighestDepth()-2);
		loadBitmapSmoothed(folder + visuels_noms[p], myMC);
		new Tween(myMC, "_alpha", Elastic.easeOut, 0, 100, 20, true);
		clipMenu.designation.text = visuels_titres[p];
		}


Merci,

BBFUNK01
mercredi 31 mars 2010 à 14:19:12 | Re : Centrer un bitmap dans un clip avec MovieClipLoader et LoadBitmapSmoothed

BBFUNK01

Je m'aperçois en refaisant des tests que j'ai dit une connerie :
lorsque je charge le bitmap dans un clip sur la scène avec son point de rotation au centre, le coin haut gauche de l'image est sur le centre du clip :)
Par contre comment centrer le bitmap dans le clip ?

BBFUNK01
mercredi 31 mars 2010 à 19:43:40 | Re : Centrer un bitmap dans un clip avec MovieClipLoader et LoadBitmapSmoothed

BBFUNK01

Réponse acceptée !
Alleluia ! J'ai trouvé la solution (tout vient à qui sait attendre... :) )

Pour ceux qui auraient le même problème, voici le code pour loader une image externe (avec lissage) et la centrer dans un clip de manière à pouvoir contrôler cette image par rapport à son centre :

1- Faites un quadrilatère sur la scène (carré, rectangle, peu importe), faites un clip de ce quadrilatère et nommez-l'occurrence du clip "monClip".

2- Entrez dans le clip "monClip" et créez un clip vide que vous placez au centre du clip "monClip" et nommez l'occurrence de ce clip vide "clip2".

3- Mettez ce code sur votre calque actions :
Code ActionScript :
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);


Et le tour est joué : l'image est chargée au centre du clip désigné.

BBFUNK01


Cette discussion est classée dans : mc, width, height, bitmap, mymc


Répondre à ce message

Sujets en rapport avec ce message

probleme de redimensionnement d'image après charge dans un movieClip [ par tyler durden ] Bonjour à tous, j'ai un petit souci de codage en Flash. Je suis en train de créer un site sur lequel il va y avoir un portfolio. Les aperçus des image Charger une liste d'images XML aléatoirement dans flash [ par siamos93 ] Bonjour à tous, je voulais savoir comment peut-on charger aléatoirement une liste d'images d'un fichier xml. C'est pour faire une grille d'images. Ci problème d'amélioration de polaroid galery [ par lirisnocif ] Bonjour je souhaite utiliser cette galerie :http://www.no3dfx.com/polaroid/après avoir effectué plusieurs modifications pour remanier le script à ma f [DEBUTANT] positionnement sprite sans effet [ par xyzizback ] Salut tout l'monde:-)J'ai récupéré un script as3 à l'adresse suivante:Je le modifie au fur et à mesure, et j'en suis là:"import flash.display.Sprite;i Le code de redimensionnement auto ne fonctionne pas !!! :-( [ par Skipy67 ] Bonjour J'ai placé un code de redimensionnement automatique (trouvé sur ce site), je l'ai placé sur mon Clip qui charge mes images (via un xml) Voici Les accents en actionscript... Encore une fois... [ par jytest ] Bonsoir à tous. J'utilise Adobe flash cs4. J'ai beau consulter des pages et des pages sur internet, aucune solution pour moi. Dans le tableau "gall [Flash C - AS3] Les accents [ par jytest ] Débutant en Flash CS4 et Actionscript3, je viens demander votre aide. Ce code fonctionne à merveille... sauf quand je remplace cette ligne var galler Placer un movie clip dans le coin haut droit d'un site resizable [ par syestar ] Bonjour, je n'arrive pas a faire en sorte que mon bouton fullsreen reste dans le coin en haut a droite quand le site se resize... voici le lien : ht [AS2] comparer mc.height et stage.heigh avec un if [ par emfromkraland ] Bonjour à vous, je viens pas souvent poster mais là je bloque tout seul et google ne m'aide en rien... Bref. J'ai un swf que j'ai besoin de faire sli Problème visuel d'un swf charger avec LoadClip [ par Xenark ] Bonsoir j'ai besoin d'aide pour mon site : http://uninfographiste.free.fr/ J'en suis à la fin j'ai passé de nombreuse étape de programmation qui étai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales