inchide

Publicitate

Afisarea publ.info
Companie

Afisarea detaliilor publicitare

Detalii...


Publicitate

Panel 1

Info sau baner
Detalii..

Panel 2

Info sau baner
Detalii...

Panel 3

Info sau baner
Detalii...

Panel 4

Info sau baner
Detalii...


Vot

Apreciati designul site-ului

Formidabil
Bun
Normal
Am vazut mai bune
Nu mi-a placut

...

Cum se face lupa in Flash / Magnifying Glass 


Cum se face lupa in Flash / Magnifying Glass

Cum se face lupa de marire in Flash / Magnifying Glass

Acest tutorial Flash invata cum se face lupa pentru vizionarea imaginii. Lupa exista nu doar in lume reala, dar si in Flash, unde uneori este necesara marirea textului sau a unei portiuni din imagine. Se poate folosi pentru ajutorul oamenilor care au probleme cu vederea sau altele.



Creaza un nou movieclipsi deseneaza o lupa; coloreaza regiunea lentilei cu orice culoare dupa dorinta(aici se foloseste culoare rosie)
Cum se face lupa in Flash / Magnifying Glass

Selecteaza rosu si apasa F8, prin aceasta veti crea un nou movieclip, pe care il vom folosi ca masca
Dupa convertire il eliminati din movieclip a lupei
Trage ambele movieclipuri in scenariu, unul cu instanse denumire de "imgMask" si celalalt "magGlass". Acum creaza un nou movieclip - container pentru imaginea noastra si il tragem in scenariu. II dam instanse denumire "imgHolder".
Inseram codul de mai jos in 1 frame:

//incarcam imaginea numita "image.jpg" in movieclip imgHolder
loadMovie('image.jpg', imgHolder);
      //ascundem cursor
       Mouse.hide();

//movieclip nou - container imaginii marite
this.createEmptyMovieClip("zoomImg", 33);

//setam masca in movieclip , pentru ca imaginea marita sa fie de forma rotunda
zoomImg.setMask(imgMask);

// bitmap obiect pentru marirea imaginii
var zoomBitmap = new flash.display.BitmapData(155, 155, false, 0xEAEAEA);

//atasam bitmap la movie "zoomImg"
zoomImg.attachBitmap(zoomBitmap, 5);

//puterea maririi, daca marim aceasta sa mareste imaginea mai tare
var magPower = 2;

//matrix obiect pentru poztionarea bitmap marit in interiorul lupei
var zoomMtx = new flash.geom.Matrix();

//setam scara imaginii cu ajutorul "magPower"
zoomMtx.scale(magPower, magPower);

//modificam adancimea pentru movie lupa, ca sa fie deasupra
magGlass.swapDepths(_root.getNextHighestDepth());

_root.onEnterFrame = function()
{

       //setam movie lupei pe poitia mousului
       magGlass._x = _xmouse - 70;

       //deci mouse in mijlocul lupei
       magGlass._y = _ymouse - 70;

       //movie marit al imaginii
       zoomImg._x = magGlass._x;
       zoomImg._y = magGlass._y;

       //masca movie
       imgMask._x = magGlass._x;
       imgMask._y = magGlass._y;

       //unde sa deseneaza/apare imaginea marita
       zoomMtx.tx = -_xmouse * magPower;
       zoomMtx.ty = -_ymouse * magPower;

       //desenam imaginea marita folosind imaginea
       //in container si pozitiamatrix.
       zoomBitmap.draw(imgHolder, zoomMtx);
}


Aceasta lucreaza cu orice imagine, alege alta imagine si denumeste "image.jpg", testeaza

Lamurire cod:

loadMovie('image.jpg', imgHolder);


Incarca "image.jpg" in movie "imgHolder"

       //ascunde mouse
       Mouse.hide();


code:

this.createEmptyMovieClip("zoomImg", 33);


Creaza movie gol pentru imaginea marita



zoomImg.setMask(imgMask);


Setam masca in "zoomImg" folosind movie "imgMask", ca imaginea marita sa nu se suprapuna pe lupa
Parametrii pentru functie folosita

setMask(Mask_MC);
var zoomBitmap = new flash.display.BitmapData(155, 155, false, 0xEAEAEA);


Creaza BitmapData nouacu inaltime si latime de 155px, netransparenta si cu culoarea fundalului interior de "0xEAEAEA".

new BitmapData(width, height, transparency, color);

Transparenta si culoare. Parametrii:

zoomImg.attachBitmap(zoomBitmap, 5);


Ataseaza "zoomBitmap" in movie "zoomImg":

attachBitmap(bitmapData, depth);
var magPower = 2;



Puterea maririi

var zoomMtx = new flash.geom.Matrix();




Matrix obiect pentru scara si desenarea imaginii marite


zoomMtx.scale(magPower, magPower);


Seteaza parametrii scarii in interiorul matrix in "magPower"; imaginea inca nu va fi scarizata, trebuie sa o desenam folosind matrix




scale(_x scale, _y scale);
magGlass.swapDepths(_root.getNextHighestDepth());


Pozitionam lupa deasupra



_root.onEnterFrame = function()
{          
       magGlass._x = _xmouse - 70;
       magGlass._y = _ymouse - 70;


Ascundem mouse si setam coordonatele magGlass egale cu coordonatele mousului



zoomImg._x = magGlass._x;
       zoomImg._y = magGlass._y;
       imgMask._x = magGlass._x;
       imgMask._y = magGlass._y;


Setam pozitii pentru cealalta parte



zoomMtx.tx = -_xmouse * magPower;
zoomMtx.ty = -_ymouse * magPower;



Variabile "tx" si "ty" din matrix raspund de pozitii regiunii de desenare in imagine; setam aceste variabile in asa fel incat imaginea marita sa fie in centrul lupei/lentilei



zoomBitmap.draw(imgHolder, zoomMtx);
}



Desenam imaginea marita in zoomBitmap, folosind functia draw():


draw(source, matrix)


Sursa: flashcomponents.net

html-link catre acest articol
BB-cod pentru publicarea in bloguri
Link direct catre acest articol
Stimate vizitator, nu sunteti inregistrat in site. Va recomandam sa folositi autentificare sau inregistrare in site.

Info


Vizitatori din grupul Oaspeti, nu pot comenta acest articol.