Flash dersleri
  Hedef Yollar
 

Bu bölümde anlatılacak olan "Hedef Yollar" klipler üzerinde işlem yapabilmenin temel konusudur ve actionscript bölümüne geçmeden evvel mutlaka tam anlamıyla kavranmalıdır.

Hedef yollar aynı bir yerin tarifini yapmaya benzer. "bulunduğun yerden sola dön, sağda ikinci sokağın köşesindeki sarı ev" gibi.

Bu işlem için Flash4`de kullanılan komut "Tell Target" idi. Flash5`le beraber bu yetersiz komut terkedilmiştir.


Hedef yollara ulaşmak actionscript panelini açın ve grafide gördüğünüz butona tıklayın.

Açılan iletisim kutusundan hedef yollara ulaşacaksınız. Ortadaki pencerede sahnede mevcut film kliplerinin örnek adları hiyerarjik koşullarla gözlenecektir.



Grafide gördüğünüz gibi tanımlanan iki hedef yol vardır:

1- Absolute (Mutlak ) hedef yollar

2- Relative (Göreceli) hedef yollar

Bu yolların ne olduğunu anlamak için daha sonra swf dosyası da sunulacak olan aşağıdaki grafiği inceleyelim. Bu grafik swf dosyasının ana sahnedeki ilk görüntüsüne aittir.



Lütfen dikkatle inceleyin. Ana sahnede şunları göreceksiniz:

1- Gri daire görünümünde bir film klibi (Kliple beraber hazırlanmış sarı renkte bir buton ve mavi renkli bir film klibi içermektedir.)

2- İçinde mor renkli bir butona sahip mavi renkli bir klip (Gri klip içine yerleştirilmiştir.)

3- Ana sahnede diğer kliplerden ayrı içinde yeşil renkte bir buton olan kırmızımsı bir film klibi

4- Yine ana sahnede serbest bir kahverengi bir buton

Özetle: Bir sahne, 3 klip, 4 buton mevcut. Sizce kaç tane timeline bulunmaktadır? Butonlarda timeline yoktur. 3 tane klipte birde sahnede olmak üzere 4 timeline mevcuttur. Biz bu 4 timeline`ı sahnedeki 4 butonla idare edeceğiz.

Şimdi hedef yolları anlamak için bir benzetme yapalım:

Grafiği tekrar inceleyin. Ana sahneyi bir oda olarak düşünelim. Bu oda içinde gri ve kırmızı renkli bir küre ve bir buton mevcuttur.

Gri renkli küre içinde olduğumuzu varsayalım. (Biz sarı butonu temsil ediyoruz.) Hangi kürelerin yüzeyine dokunabiliriz?

1- Gri renkli küreye

2- Bu küre içindeki mavi renkli küreye.

Kırmızı küreye ve odanın(ana sahne) yüzeyine uzanmamız mümkün değildir. İşte bu "Göreceli Yol" dur. Bulunduğumuz yerden ulaşabileceğimiz her klip göreceli yol üzerindedir.

Şimdi kırmızı küre içinde olduğumuzu varsayalım. Göreceli yolla ulaşabileceğimiz tek küre kırmızı küre olacaktır. Şayet gri klip, mavi klip veya ana timeline`a ulaşmak istiyorsanız ne yapmalısınız?

Cevap basit. Kırmızı küre içinden çıkmalısınız. Dışarı çıkmanın tek yolu "Mutlak Yolu" seçmektir. Mutlak yol seçildiğinde hangi klip içinde olunursa olunsun ana sahneyi yukarıdan kuşbakışı seyreder bir konuma kavuşacak istediğiniz klibe uzanacaksınız.

Ne zaman mutlak ne zaman göreceli yolu tercih etmeliyiz?

Grafik örneğinde anlattığımız gibi istediğimiz klip bulunduğumuz konumda ulaşabileceğimiz bir alanda ise göreceli yol, ayrı bir bölgede ise mutlak yol seçilmelidir. Bir örnekle açıklayalım.

Üstteki grafide kliplere mavi, gri, kirmizi örnek adı verilmiştir. Gri klip içindeki sarı renkli butonu seçip actionscript panelini açın ve Insert target path butonuna basıp önce relative sonra absolute yolunu işaretleyelim. Tabloda şunları göreceksiniz:

<I>

Soldaki grafide relative yolu işaretlenmiştir ve hala gri küre içindesiniz. Bu nedenle this ve mavi kliplerine ulaşabilirsiniz. Bu yolda en üst seviyedeki klip this ile ifade edilir. Burada this ifadesi gri klibi temsil etmektedir.

Sağdaki grafide mutlak yol işaretlenmiştir ve kuşbakışı tüm sahne elinizin altındadır. Tüm timeline`lara uzanmanız ve komut vermeniz mümkündür. Buradaki _root terimi yine en üst timeline`ı temsil eder. Buradaki ifade ana sahnenin timeline`ını göstermektedir. Bu panel açıldığında mavi klibini göremeyeceksiniz Hiyerarşik olarak gri klip içinde ve ona bağlıdır. Gri yazısının yanındaki artı butonuna bastığınızda açılacaktır.

Artık _root ifadesinin bir mutlak yolu, this ifadesinin bir göreceli yolu ifade ettiğini öğrendiniz.

Bazı actionscript kod örnekleri arasında _parent ifadesini görürsünüz. Bu İnsert a Target Path panelin de olmamasına rağmen yine bir hedef yol göstergesidir. Kendisinin bir üstündeki timeline`ı işaret eder.

Artık pratik uygulamaya geçelim. Alttaki swf dosyasını inceleyin, hiçbir butona dokunmayın.



4 butonla 4 timeline`a ayrı ayrı komut göndereceğiz. Küre benzetmesini düşünerek hangi yolun kullanıldığını tahmin edin.
( Mutlak? Göreceli? )

1- Sarı renkli butona tıklayalım. Mavi klibi 2.frame`de durdu.

2- Yeşil renkli butona tıklayalım. Gri klip 1.frame`de durdu.

3- Kahverengi butona tıklayalım. Kırmızı klip 3.frame`de durdu.

4- Mor renkli butona tıklayalım. Ana timeline`da 2. frame`e atlandı. Sahnede görülmese de diğer klipler bu aksiyondan etkilenmedi.

Eğer küre benzetmesini tam anladıysanız bu sorulara hatasız cevap vermiş olmalısınız.
(Cevaplar:1- Göreceli yol 2- Mutlak yol 3- Mutlak ya da göreceli yol. Herikisininde olma nedeni butonun serbest olup tüm timeline`lara uzanabilmesidir. 4- Mutlak yol )

Hata yapıldıysa lütfen konuyu tekrar dikkatlice okuyun.

İpucu: Dikkatli okuyucuların gözünden kaçmamıştır. Mutlak yol seçildiğinde tüm kliplere ulaşmamız mümkünse göreceli yolda seçilen klibe de ulaşabiliriz. O zaman göreceli yol yerine daima mutlak yolu seçsek hata etmiş olmamalıyız. Bu düşünce doğrudur. Niçin göreceli yol kullanılır. Bunun basit bir nedeni vardır. Bu klipleri başka bir sahnede parça parça kullanmak istediğinizde ana timeline`a bağlı mutlak yol tercih edilmiş ise taşınan yerde kodlar çalışmayacak yeniden kodları uyarlamanız gerekecektir. Şimdi bu sizi pek ilgilendirmese de tecrübe kazanıldıkça gerekli bir işlem olduğunu göreceksiniz. Bu nedenle kurallara uyarak göreceli yolla ulaşabileceğiniz her klip için bu yolu tercih etmelisiniz.

Flash-MX ile beraber başlatılan ve 2004 versiyonunda da devam eden _global kodu bazı çalışmalarda gözünüze çarpa caktır. Bu kod özellikle değişkenlere evrensel değer atamak için kullanılır. Evrensel değerden kasdedilen değişkene ulaşmak için _root,this veya _parent gibi kodlara gerek kalmadan hangi klip veya scene içinde olursa olsun _global.degisken yazarak ulaşabildiğimizi belirtmektir.Örneğin iç içe 3 klip olduğunu ve en içteki klibe deger=1 komutunu verdiğimizi düşünelim. Bu değişkene ana sahneden ulaşmak için:

_root.klip3.klip2.klip1.deger şeklinde yazmamamız gerekirdi,halbuki en içteki klibe _global.deger=1 komutunu yazarsak ana sahneden _global.deger yazarak değikene doğrudan ulaşma şansımız doğmuştur. Bu kodu ilerleyen çalışmalarda tekrar göreceksiniz.


 
 
  Bugün 18 ziyaretçi (20 klik) kişi burdaydı!  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol