Forse è una richiesta un po strana ma ...
...sapreste spiegarmi questo codice?
Codice PHP:
var firstwidth:Number = myMc.width;
var firstheight:Number = myMc.height;
//--ZOOM(+)---
/*valore massimo di ingrandimento*/
var incremento:Number = 5;
function ZoomIn(event:MouseEvent):void {
var myX:Number = event.stageX/firstwidth;
var myY:Number = event.stageY/firstheight;
var myXmap:Number = myMc.mouseX/firstwidth;
var myYmap:Number = myMc.mouseY/firstheight;
var limiteX:Number = ((firstwidth/2)+((1-myXmap)*(myMc.width*incremento)))-(myMc.width*incremento);
var limiteY:Number = ((firstheight/2)+((1-myYmap)*(myMc.height*incremento)))-(myMc.height*incremento);
trace("myMc "+myMc.mouseX+" stageX "+event.stageX+" myXmap "+myXmap+" myX "+myX+" LimiteY "+limiteX);
if (firstwidth-(myMc.width*incremento)>limiteX) {
limiteX = firstwidth-(myMc.width*incremento);
}
if (firstheight-(myMc.height*incremento)>limiteY) {
limiteY = firstheight-(myMc.height*incremento);
}
if (limiteX>0) {
limiteX = 0;
}
if (limiteY>0) {
limiteY = 0;
}
var scalaDi:Number = myMc.scaleX*incremento;
var mc_name:String = "myMc";
mover_mapa(mc_name, scalaDi, limiteX, limiteY);
}
//function zoom
function mover_mapa(mc_name:String, scalaDi:Number, limiteX, limiteY) {
var mov_speed:Number = 4;
this.x += (limiteX-this.x)/mov_speed;
this.y += (limiteY-this.y)/mov_speed;
if (this.scaleX<scalaDi) {
trace(this.scaleX);
if (this.scaleX<(scalaDi-(0.1+(scalaDi-this.scaleX)/mov_speed))) {
this.scaleX = this.scaleY += (scalaDi-this.scaleX)/mov_speed;
} else {
this.scaleX = this.scaleY=scalaDi;
trace(this.scaleX);
}
}
if (this.scaleX>scalaDi) {
if (this.scaleX>scalaDi+0.1) {
this.scaleX = this.scaleY -= (this.scaleX-scalaDi)/mov_speed;
} else {
myMc.scaleX = myMc.scaleY = scalaDi;
}
}
}
myMc.addEventListener(MouseEvent.MOUSE_UP, ZoomIn);
la prima parte è quella che capisco meno