L'effetto che vorrei creare è quello di una lente(una maschera rotonda tracinata dal mouse) mostri un ingrandimento di una foto caricata esternamente.
Per fare questo ho caricato 2 volte l'immagine...e una l'ho ingrandita e messa sotto la maschera rotonda...
Il codice è questo..
Ma non funziona perchè sembra utilizzare le coordinate _x e _y della _root invece di quelle di _root.contenitore (la funzione zoom() l'ho messa in un frame di _root.contenitore)codice:function zoom() { ingrandimento_lente = 4; _root.contenitore.gruppo_pulsanti.lente_bottone.onPress = function() { unloadMovie(_root.contenitore.foto); _root.contenitore.foto.loadMovie(_root.folder+"/01.jpg"); setProperty(_root.contenitore.foto, _x, 67.5); setProperty(_root.contenitore.foto, _y, 0); _root.contenitore.foto2.loadMovie(_root.folder+"/01.jpg"); setProperty(_root.contenitore.foto2, _x, 67.5); setProperty(_root.contenitore.foto2, _y, 0); }; _root.contenitore.gruppo_pulsanti.lente_bottone.onRelease = function() { altezza = 400; lunghezza = ((_root.contenitore.foto2._width*altezza)/_root.contenitore.foto2._height); setProperty(_root.contenitore.foto2, _width, lunghezza); setProperty(_root.contenitore.foto2, _height, altezza); setProperty(_root.contenitore.foto, _width, lunghezza*ingrandimento_lente); setProperty(_root.contenitore.foto, _height, altezza*ingrandimento_lente); _root.contenitore.maskera.gotoAndStop("lente"); _root.contenitore.maskera.startDrag(true , _root.contenitore.foto2._x , _root.contenitore.foto2._y , Number(_root.contenitore.foto2._x+_root.contenitore.foto2._width) , Number(_root.contenitore.foto2._y+_root.contenitore.foto2._height)); trace(_root.contenitore.foto2._x+","+_root.contenitore.foto2._y+","+Number(_root.contenitore.foto2._x+_root.contenitore.foto2._width)+","+Number(_root.contenitore.foto2._y+_root.contenitore.foto2._height)); _root.contenitore.foto2.onMouseMove = function() { point = new object(); point.x = _root._xmouse; point.y = _root._ymouse; _root.contenitore.globalToLocal(point); trace(point.x+" "+point.y); _root.contenitore.foto._x = _root.contenitore.foto2._x-(Number(ingrandimento_lente)*(point.x-_root.contenitore.foto2._x)); _root.contenitore.foto._y = _root.contenitore.foto2._y-(Number(ingrandimento_lente)*(point.y+_root.contenitore.foto2._y)); updateAfterEvent(); }; }; }


Rispondi quotando