Magnify Glass (Büyültme ) Efekti


Buyultme efekti hazırlamada kullanılan değişik yöntemler vardır. Bizim hazırladığımız çalışmadaki kodlar anlaşılması en basit olan kodlardır.

DOSYAYI İNDİR   

 

1- Ana sahnemize büyültme efektinde kullanılacak resmimizi import edelim( isterseniz metin de kullanabilirsiniz)

2- Resmimizi seçelim ve F8`e basarak sembol iletişim kutusunu açıp davranış olarak film klibi seçeneğini işaretleyelim.İnstance name alanına kucuk_resim yazalım.

3- CTRL+F8`e basarak yeni bir film klibi oluşturun. Kütüphanedeki resmi sahne içine çekelim. Properties panelinde w ve h alanına mevcut boyutları tam 2 katına çıkartacak rakamlarımızı yazalım. Şu anda 2 klibimiz mevcut. 2. klibimiz ilk klibin tam iki katı boyutlarda oluşturulmuştur. Bu 2 değeri ilerde action script komutlarında kullanılacaktır. Filmin örnek adını buyuk_resim olarak ayarlayalım.

4- Buyuk_resim klibimize yeni bir katman ekleyelim. Buraya oval aracı ile dış çerçevesi olmayan bir daire çizelim. Bu maske olarak kullanılacaktır. Bu nedenle boyutunu istediğiniz şekilde ayarlayabilirsiniz.Bu katman üzerine sağ klik yapın properties kısmını işaretleyelim ve mask özelliğini seçelim. Aynı işlemi alttaki katman içinde yapalım ve masked seçeneğini kullanalım.

Bu komutlar Flash5` de de kullanılır. Eğer isterseniz daha önce anlattığımız setMask komutunu kullanabilirsiniz.

5- En üst kısma 3. katmanımızı ekleyelim. Buraya kodları yazacağız.Alttaki 2 katmana birere frame en üstteki aksiyon katmanına da bir keyframe ekleyelim. Yani her üç katmanda da 2 frame bulunmalıdır.

Aksiyon katmanındaki 1.kareyi seçelim ve şu komutları atayalım:

setProperty(buyuk_resim, _x, (getProperty(_root.kucuk_resim, _x)-_x)*2);
setProperty(buyuk_resim, _y, (getProperty(_root.kucuk_resim, _y)-_y)*2);

Kodların karışık gözükmesi sizi sıkıntıya sokmasın. Açıklaması son derece mantıklıdır. Burada yapılan işlem şudur. Maske katmanının konumunu kucuk_resim üzerinde tam gereken noktaya ayarlamaktır. Yani imleç kırmızı gülün üzerine geldiğinde sadece o alanın büyütülmesi için gereken koordinatları bu komutlar sağlamaktadır.

setProperty komutunu verelim. Property kısmına özellik olarak _x kısmını seçelim. Hedef klibimiz buyuk_resim klibidir. Value alanına (getProperty(_root.kucuk_resim, _x)-_x)*2 yazalım. Bildiğiniz gibi getProperty komutu bir film klibinin özelliklerini alır. Bizim istediğimiz özellik _x özelliğidir.Kucuk_resim klibinin _x değerinden mevcut _x değeri çıkartılır ve büyütme işlemi 2 kat yapıldığından 2 değeri ile çarpılır. Aynı işlemi _y değeri içinde yapalım.

6- Sonra 2. kareyi seçelim. gotoAndPlay(1); yazalım. Böylece 1. karedeki kodlar devamlı çalışır durumda olacaktır.

7- Ana sahnemize dönelim. Hala sahnede sadece kücük_resim klibimiz mevcuttur.En üste 2. bir katman ekleyelim. Kütüphanedeki az evvel hazırladığımız buyuk_resim klibimizi resmin orta kısmına koyalım. Bu klibimizi seçip örnek adı olarak zoom yazalım.En üste 3. katmanımızı yerleştirelim. 1.kareyi seçerek

startDrag(_root.zoom, true);

komutunu yazalım. Herşey hazır filmi test edebiliriz.

Bu klipte maske otomatik olarak fareye yapışacaktır. Eğer isterseniz maske için çizdiğimiz daire üzerine görülmez bir buton yerleştirerek release ve press fare olayları ile startDrag ve stopDrag işlemlerini beraberce uygulayabilirsiniz.