Zoom sur une image

Description

zoom sur image se trouvant dans la bibliothèque du swf
rester appuier et bouger la souri pour voir
changer le zoom sur cette image

explication == voir le code

Source / Exemple :


import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.geom.Point;
import flash.display.Sprite;
import flash.events.Event;
var myZZ:Number//valeur de zoom
// sprite pour contenir la grande image
var sp:Sprite = new Sprite();
sp.x = 0;
sp.x = 10;
addChild(sp);
sp.buttonMode = true;
// le petit sprite aui va recvoir une portion de la grande image
var sps:Sprite = new Sprite();
//sps.x = 580;
//sps.y = 10;
addChild(sps);

// importer une bitmap de la librairie dans le spritz sp
var az:BitmapData = new guitar();
var azb:Bitmap = new Bitmap (az);
sp.addChild(azb);

// copier une zone du bitmap
function copythemp(e:Event):void{
var OCB:BitmapData = new BitmapData(100,100);
var rect:Rectangle = new Rectangle(sps.x,sps.y,100,100);// mouseX-50 et mouseY-50 our centrer la petite image
OCB.copyPixels(az,rect,new Point(0,0));// copy from az selon rect , et placer dans le nouveaux bitmap à la position 0,0

var abmp:Bitmap = new Bitmap(OCB);
sps.addChild(abmp);// ajouter la nouvelle image selectionner
sps.scaleX = sps.scaleY =myZZ;//zoom 2x
sps.x=mouseX-50*myZZ;
sps.y=mouseY-50*myZZ;
}

sp.addEventListener(MouseEvent.MOUSE_DOWN, declancher);
function declancher(e:MouseEvent):void{
	myZZ =Number(ZZ.text);
	trace(sps.numChildren,"le nbr d'image dans sps");
	// eliminer les images précedente pour ne pas trop chargé la memoire.
	for(var a:Number=sps.numChildren; a>0; a--){
	sps.removeChildAt(a-1);
	trace(sps.numChildren," supprier");
}
addEventListener(Event.ENTER_FRAME,copythemp);
}

stage.addEventListener(MouseEvent.MOUSE_UP, annuller);
function annuller(e:MouseEvent):void{
	removeEventListener(Event.ENTER_FRAME,copythemp);
}

Conclusion :


c'est facile à faire mais il faut réfléchir comment faire pour ne pas trop consommer la mémoire.

Codes Sources

A voir également

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.