Newsgroup: it.comp.appl.macromedia
Titolo: Aiuto CyberBuddha!

Salve al Ng, 
in sintesi il mio problema: voglio creare una specie di effetto lente,
nel senso che ho un MC(pippo)  sfuocato di sfondo e quando ci passa
sopra la lente si "rimette" a fuoco ... per realizzare l'effetto ho
usato un MC mascherato(gigi)  che contiene la versione a fuoco del MC
sfuocato(pippo). nessun problema finchè la maschera è statica o
animata tramite Tweening; i guai arrivano quando voglio muovere la
maschera interattivamente, associandola al puntatore del mouse, ho
provato in diversi modi, ma nisba! infatti sia rendendo la maschera un
MC e usando l'Action Drag MC, sia (più complesso) usando una piccola
routine di mouse tracking che restituisce le coordinate x,y del
puntatore e poi associando queste alla maschera, questa non si muove
.. al che mi è venuto il dubbio che forse non è possibile, in quanto
non è la prima volta che mi imbatto in bug inerenti la gestione dei
layer mascherati (vedi mio post precedente di 4/5 giorni fa) ...
qualcuno sa dirmi qualcosa? grazie ed un saluto al ng... Giullo

Con Flash è un bel problema... Il 3 non aveva bug con le maschere ma non
aveva la possibilità del Drag&Drop e viceversa con il 4... Penso sia stata
una delle "rogne" maggiori da quando uso il Flash. Ma purtroppo non ho più
il file che avevo fatto e dovrei rifarne uno per postarti esattamente lo
script... Se ti accontenti dei "ricordi", ti illustro il meccanismo... Ha
una logica che ha del contorto, ma funziona: devi trasformare in MC
l'immagine "messa a fuoco" e chiamarla ad esempio "pippo". Poi crei un'altro
MC vuoto e gli trascini dentro "pippo". Crei la maschera (ad esempio un
cerchio) e trascini questo MC sulla timeline principale, chiamandolo ad es.
"maschera". Crei un MC nuovo di solo 2 Keyframe, sul primo qualcosa tipo:
Set Property ("/maschera/pippo", X Position) = 0 - (GetProperty
("/maschera",_x))
Set Property ("/maschera/pippo", Y Position) = 0 - (GetProperty
("/maschera",_y))
e sul secondo:
Go to and Play(1)
Anche questo MC va sulla timeline principale. Cosa significa tutto ciò? Che
la maschera non la possiamo "draggare" e quindi gli facciamo muovere
l'immagine sotto "draggando" un MC che contiene maschera (fissa) ed immagine
(che si sposta tramite ActionScript). L'immagine si sposta esattamente alle
coordinate opposte del MC che stai draggando, quindi se "maschera" è a x =
50, y = 20, "pippo" sarà a x= -50, y= -20...
Naturalmente l'ultimo livello della timeline principale sarà l'immagine
sfocata.
Non chiedermi di più, ho spremuto fino in fondo la mia memoria... (domattina
non mi ricorderò nemmeno come mi chiamo, eheh)
Divertiti ;-)
-Cyber-

Cyber grazie, sei sempre er mejo!!!!! Ciao, Giullo
ps anche se penso che lascerò perdere!!!!

Se hai del tempo, sto rielaborando il file, così ti posso postare le
procedure esatte. Comunque è di una complessità assurda rispetto all'effetto
che si deve ottenere ( se ascoltassero la mia wish-list per il Flash 5,
licenzierebbero qualche programmatore, eheh...), visto che, oltretutto,
quando si settano le posizioni di più di un MC andando a toccare le
coordinate x & y, le coordinate dello stage "sbarellano", dividendosi * 2
(la coordinata x 180 diventa x 90...) e quindi influisce su tutti gli
oggetti, MC o no...
-Cyber-

Scusa Cyber puoi essere più preciso sull'effetto sbarrellamento. Perche io
tra un po' devo duplicare delle movie clip e farle spostare tramite Script
ognuna per i suoi cavoli.
Avrò problemi? oppure lo sbarrellamento interviene in un'altro caso?
Ciriciao ARnor
-------------------------
 
www.kemen.it
- web solution -
-------------------------

I MC che vengono spostati tramite Set Property si spostano del doppio delle
coordinate impostate. Es: se hai uno Stage di 360 px (_x), il centro č a
180px (il centro del MC č quello considerato per gli spostamenti sui 2
assi); ma un MC riposizionato a _x = 180  viene effettivamente posizionato a
_x=360. Quindi bisogna sempre calcolare gli spostamenti dividendoli x 2 (in
questo caso spostare il MC a _x=90 per averlo a _x=180). Inoltre, vengono
spostati anche gli altri oggetti grafici o MC presenti nel keyframe, che
vanno quindi spostati indietro [(GetProperty("/MC",_x) - (valore di
spostamento _x dei MC principali)], in questo caso gli altri oggetti
andavano spostati indietro di 90 px.(come se fosse il centro dello Stage a
spostarsi al contrario e del doppio dei pixel della coordinata settata).
Praticamente, succede solo quando si ha piů di una istruzione di settaggio x
& y. Se si fa su un solo MC, le coordinate vengono riportate in maniera
esatta. Nel caso di un loop (quindi con piů oggetti) le coordinate si
sfalsano. La prima posizione che si setta per l'oggetto deve rispettare il
fattore del dividere per 2 le coordinate, quando poi si vanno ad aggiungere
o togliere un tot pixel alle coordinate, queste vengono calcolate
normalmente (all'inizio per mettere su x=180 un MC si deve settare x= 90, se
poi si vuole fare un ulteriore spostamento di 180 px, basta fare 90 + 180, e
non 90 + 90).
-Cyber-