- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- mc zoommabile
-
mc zoommabile
Un saluto a tutti gli amici del forum...il mio problema è questo:
ho un mc dal nome "map" e al suo interno ho altri mc, "map" è zoommabile quindi anche gli mc interni lo sono dipendentemente da questo. Quindi zoommo + map e aumentano le dimensioni degli mc interni. Io vorrei esattamente il contrario, aumentando lo zoom su "map" gli mc interni diminuiscono.
il comando zoom è costituito da una barra con nome istanza "ctrl_scala", al suo interno ho altri due mc dal nome "cursore" e "barra". L'action dello zoom è:
var f_scalaX:Number = 100;
//questo perchè voglio che all'inizio sia al 100%
var max_spostX:Number = _root.ctrl_scala.barra._width;
//nb...per rilevare la dimensione dellla barra che indica lo spostamento massimo del cursore...il clip con la barra deve essere presente nel frame dove stai dichiarando queste variabili
//il clip ha come nome istanza ctrl_scala ed ha all'interno la barra di scorrimento ( con nome istanza "barra" )..e avrà anche il cursore ( nome istanza "cursore")
////
function fatt_scala(pos_x) {
//questa funzione mi calcola il fattore di scala
var fattscala:Number = 100+(500*(pos_x)/max_spostX);
_root.f_scalaX = 100+(500pos_x/_root.max_spostX);
trace("fattore di scala="+_root.f_scalaX);
//scalo la foto....
_root.map._xscale = _root.map._yscale=_root.f_scalaX;
//il clip nel quale hai caricato la foto avrà come nome istanza "clipfoto"
}
//cursore è il nome istanza del mclip che puoi spostare
_root.ctrl_scala.cursore.onPress=function(){
startDrag(this,true,0,this._height0,_root.ctrl_scala.barra._width,this._height*0);
trace("_parent="+_root.ctrl_scala.barra._width)
//richiamo la funzione..left, top, right, bottom
//faccio partire un enterframe che mi aggiornila scala ad ogni ciclo....
if (dragOn==undefined){
//questa condizione fa si che l'enterframe parta una sola volta
var dragOn:Number=1
this.onEnterFrame=function(){_root.rdm_cursore()
_root.fatt_scala(this._x)}
}
}
_root.ctrl_scala.cursore.onMouseUp=function(){
this.stopDrag();
delete this.onEnterFrame
//stoppo lo spostamento}
function rdm_cursore(){
var fatt_dim_obiettivo:Number=(maskera._width/map._width)
obiettivo._width=nav_mc._widthfatt_dim_obiettivo
var prop_mask:Number=maskera._height/maskera._width
obiettivo._height=obiettivo._widthprop_mask
_root.fatt_dim_obiettivo=fatt_dim_obiettivo
_root.rapp_obiettivo=(map._width/nav_mc._width)
}Che action devo associare agli mc interni a "map" per farli diminuire col crescere dello zoom?
Grazie e ciao