Motion Tween için Hazırlık Motion tween, sabit bir zaman aralığında bir nesnenin konumunu değiştirmek için kullanılır. Bunun dışında, ölçeklendirme, alfa (şeffaflık), tonlama ya da döndürme işlemleri de motion tween kullanılarak yapılabilir. İsteğe bağlı bir hareket kılavuzu ile nesneleri bir vektör yolu üzerinde hareketlendirme gibi daha karmaşık animasyonlar da hazırlanabilir; dersimizin ilerleyen bölümlerinde böyle bir uygulama yapacağız. Burada dikkat etmeniz gereken bir şey var: Sadece sembollerle motion tween yapabilirsiniz. Bu nedenle motion tween yapmadan önce nesneyi bir sembole çevirmelisiniz. Animasyon temel olarak aynı resmin biraz farklı yerlerde kopyalarının gösterilmesiyle oluşturulan bir illüzyondur, dolayısıyla sembol kullanılması uygundur. Bu ayrıca SWF dosyasını dışarı aktarırken (export) dosya boyutunun küçük kalmasını da sağlar. Bunun sebebi, Flash’ın zamanı gelen her öğeyi baştan oluşturmak yerine kütüphaneden alıp tekrar kullanıma sokabilmesidir.
Not: Shape tween bunun tersidir: Ham verilere shape tween uygulayabilirsiniz fakat sembol kopyalarına, gruplanmış öğelere veya bitmap resimlere uygulayamazsınız. Bunların önce Modify > Break Apart kullanılarak ham veriye dönüştürülmeleri gerekir. Bu dersimizde ham verilere (vektörel çizimlere) shape tween uygulamayı da öğreneceksiniz.
Bir FLA dosyasına motion tween eklemenin birkaç yolu vardır, bunları aşağıdaki uygulamalarımızda öğreneceksiniz. İlk uygulamamızda, önceki derslerimizde oluşturduğumuz menülere motion tween ekleyeceğiz. İşimiz bittiğinde, menüler kullanıcı bir düğmeye basınca açılıp daha sonra kapanır hale gelecek. Ayrıca SWF dosyası oynatılırken animasyonun sürekli gösterilmesini önlemek için bir hareket durdurma komutu ekleyeceğiz.
1. bookstore8.fla dosyasını açın ve sabit diskinizdeki TechBookstore klasörüne bookstore9.fla adıyla kaydedin. Dördüncü dersimizde, bu derste hareketlendireceğimiz sembollerin çoğunu hazırladık. Önemli değişiklikler yağacağımız için dosyamızı farklı bir isimle yeniden kaydediyoruz.
2. Stage’de mcProducts örneğini bulun, F8 tuşu ile onu başka bir klibe yerleştirin ve klibi mcProductsMenu olarak isimlendirin. Klibimizi neden başka bir klibin içine koyduğumuzu merak ediyor olmalısınız. Flash’ta çalışırken bazen animasyonların dokümanın ana Timeline’ı üzerinde yer almasını istemeyiz. Bunun çözümü de animasyonların klip sembollerinin içerisinde oluşturulması ve bu klibin bir örneğinin Stage’e yerleştirilmesidir. Bu durumda mcProductsMenu klibi içinde bir hareket animasyonu yapmış olacaksınız. Motion tween’leri sadece sembollerde kullanabildiğinizi unutmayın, mcProducts’ı mcProductsMenu içine yerleştirmemizin nedeni budur.
İpucu: buttons katmanı menu katmanının üstünde bulunduğu için menu kliplerini seçmek zor olabilir. buttons katmanını kilitleyip gizleyerek menu kliplerini daha kolay seçilebilir bir hale getirebilirsiniz.
3. mcProductsMenu’ye çift tıklayarak onu Stage’de düzenlemeye başlayın. Gerekirse menüyü yakınlaştırın. mcProductsMenu üzerine çift tıkladıktan sonra Stage’in geri kalanı donuklaşır ve siz de düzenlemekte olduğunuz sembole odaklanabilirsiniz. Burada sembolün ana özellikleri elinizin altındadır ve yaptığınız değişiklikler sembolün doküman içindeki tüm kopyalarını (örneklerini) etkileyecektir. Stage’deki klibimizin tek bir örneği olduğundan, üzerinde düzenleme modunda çalışmamızın herhangi bir sakıncası yoktur. Özellikle bu modda çalışacağız çünkü animasyonumuz Stage’de belirli yerlerde başlayıp bitmek zorunda ve biz bu mod sayesinde çalışırken Stage ve tüm grafikleri birlikte görebiliriz.
4. Layer 1’i seçin ve ona menu tween adını verin. Yeni bir katman ekleyin ve bu katmana actions adını verin. actions katmanında 11 ve 20. karelere anahtar kareler yerleştirin. menu tween katmanını seçin, Insert New Layer düğmesine tıklayın ve katman ismi olarak actions girin. 11 ve 20. karelerde anahtar kare oluşturmak için kareyi seçin ve F6 tuşuna basın. Her anahtar karede klibin pozisyonunu değiştireceğiz. Klibin konumunu değiştirmek, anahtar karelerin arasına tween eklerken animasyonun oluşturulmasını sağlayacaktır. Tween’leri bir sonraki uygulamamızda ekleyeceğiz.
Klipler hakkında bilmemiz gereken önemli şeylerden biri de, bunların kendi Timeline’larının olduğudur. Klipler küçük çocuklar gibidir: Siz söylemeden bir şey yapmazlar ya da daha kötüsü, aksi söylenmedikçe bir şeyi yapmayı bırakmazlar. Bunun anlamı, bir klip içinde animasyon yaptığınızda, siz ne zaman duracağını belirtmedikçe animasyon sürekli tekrar edecektir.
Animasyonunuzun aşağı açılan menü şeklinde olmasını istiyorsunuz diyelim: Kullanıcı düğmelerden birine (Products) tıkladığında menü aşağı doğru hareketlenerek tamamen açılmalı ve tüm seçenekler ortaya çıktığında durmalıdır. Bir seçenek tıklandığında ya da kullanıcı fareyi uzaklaştırdığında menünün ilk baştaki haline gelmesini de istiyoruz. Bu nedenle klibimize iki farklı noktada animasyonu durdurmasını söylemek zorundayız: 11 ve 20. karelerde.
5. Animasyonu kontrol etmek için Timeline’a durdurma eylemleri (stop action) ekleyin. Durdurma eylemleri Actions panelinden eklenir. ActionScript’i henüz bilmiyor olsanız da basit bir tıklama işlemiyle ActionScript’ten faydalanabilirsiniz. Ana menüden Window > Actions’ı seçerek Actions panelini açın. Actions paneli Windows’ta Stage’in altında ve OS X’te de yüzen panel olarak açılır. Actions panelinde üç ayrı bölüm bulunur: Script paneli, Script listesi ve Actions bölümü. Script paneli, Script listesi ve Actions bölümünün sağındaki büyük metin alanıdır. Aşağıdaki şekilde Actions panelinin farklı bölümlerini görüyorsunuz.
actions katmanında 11. ve 20. karelere anahtar kare eklerken Script Assist’i kullanacağız. ActionScript deneyiminiz yoksa Script Assist özelliği çok işinize yarayacaktır. Eklemek istediğiniz eylemi seçtiğinizde Script Assist ona uygun menü seçenekleri ve düğmeleri eklemenize yardımcı olur.
actions katmanında 11 no’lu anahtar kareyi seçin ve Actions panelinin başında Actions-Frame yazdığından emin olun. Actions panelinin başlık çubuğundan bir kare mi yoksa bir nesne mi seçtiğinizi anlayabilirsiniz. Script listesinde de aynı şekilde Current Selection bölümünde actions katmanının 11. karesi görülmelidir. Script panelinin altındaki script etiketi de aynı işi görür.
Script panelinin sağ üst köşesindeki Script Assist düğmesine tıklayın. Soldaki Actions araç kutusunda Global Functions kategorisine tıklayın ve Timeline Control’ü seçin. Timeline Control kategorisinde stop action’a çift tıklayıp Timeline’a eklenmesini sağlayın. Script Assist, Actions denetçisinin üstünde stop eyleminde parametre kullanılmadığını gösterecektir. Aynı yöntemle actions katmanındaki 20. kareye de bir stop eylemi ekleyin.
İpucu: Script Assist, Script panelinin sol üstündeki Actions araç çubuğunda seçtiğiniz işlemin açıklamasını gösterir. Onun altında eylemi script’inize nasıl ekleyebileceğiniz açıklanır.
ActionScript eklemeyi bitirdikten sonra, Lock Layer simgesinin altındaki noktaya tıklayarak actions katmanını kilitleyin, böylece actions katmanında Stage’e bir şey eklenmesini önlemiş oluyoruz. ActionScript içeren bir katmanda ham veri, sembol ve örnekleri, bileşenleri ya da diğer öğeleri bulundurmamak çok sağlıklı bir yoldur. Kodları nesnelerle (örneğin ActionScript içeren bir bileşenle bir klibi) aynı katmana yerleştirirseniz, SWF dosyanızda kod çakışmaları yaşanabilir. Ayrıca FLA dosyanızdaki hataları ayıklamak da güçleşebilir.
Not: Kare eylemleri eklerken, eylemler Timeline üzerindeki diğer öğeler gibi anahtar karelere yerleştirilmelidir. Normal bir kareye ActionScript ekleyemezsiniz.
6. Yeni bir katman oluşturun ve labels olarak adlandırın. Sonra 2 ve 12. karelere yeni anahtar kareler ve kare etiketleri ekleyin. İşiniz bitince katmanı kilitleyin. menu katmanını seçin ve Insert Layer düğmesine tıklayın. Yeni katmana labels ismini verin. 2. ve 12. karelerde yeni anahtar kareler oluşturmak için kareyi seçip F6 tuşuna basın. Şimdi ActionScript’i kullanarak, Products düğmesine tıklandığında ya da animasyon sonrasında fare menüden çekildiğinde oynatımın doğrudan bu karelere taşınmasını sağlayacaksınız. Bu iş için ActionScript’i kullanmanın en kolay yolu anahtar karelere etiket vermektir. Bunun sebebini aşağıdaki paragrafta açıklıyoruz.
Menülerinizin açılıp kapanma animasyonunun süresi hoşunuza gitmeyebilir ve bu yüzden animasyonda yer alan kare sayısını değiştirmek isteyebilirsiniz. Bunu yaptığınızda, animasyonların başlangıç ve bitişleri farklı karelere kayabilir. Eğer ActionScript’e belli numaralı bir kareye gitmesini söylemişseniz, Actions paneline girip script’i yeni numaraları gösterecek şekilde değiştirmeniz gerekir. Ancak, oynatım kafasını etiket verilmiş bir kareye gönderme yoluna giderseniz, başlangıç ve bitiş kareleri hareket ettiğinde etiket de onlarla birlikte hareket eder ve Script’i değiştirmeniz gerekmez.
labels katmanında 2 numaralı kareyi seçin ve Properties denetçisinde <Frame Label> alanına
slidedown yazın. Sonra labels katmanından Kare 12’yi seçin ve <Frame Label> kutusuna
slideup yazın. İşiniz bitince, daha önce yaptığınız gibi katmanı kilitleyerek üzerine kaza ile yeni içerik eklenmesini önleyin.
7. menu tween katmanının 12 ve 20. karelerine yeni anahtar kareler ekleyin. Bu kareler, menünün nasıl hareket edeceğini belirler. Kare 12, menü açılış animasyonunun sonu, menü kapanış animasyonunun ise başlangıcıdır.
8. Kare 12’deki mcProducts klibinin konumunu değiştirin. Kare 12’de Stage’den mcProducts’ı seçin. Klibi Shift tuşuyla birlikte aşağı ok tuşuna basarak aşağı kaydırın ve hemen grBar’ın altına getirin. Aşağıdaki şekli inceleyin.
İpucu: Klavyeden Shift ve aşağı tuşlarına bastığınızda, seçili grafik 10 piksellik birimler halinde aşağı kayar. Tek başına aşağı ok tuşuna bastığınızda ise hareket birimi 1 piksel olur.
9. Ana Stage’e dönün ve diğer iki menü için bu adımları tekrar edin. Düzenleme çubuğunda Scene 1’e tıklayarak ana Stage’e dönün. 2’den 8’e kadar olan adımları mcCompany ve mcContact için tekrar edin. İçinde bulundukları klipleri sırasıyla
mcCompanyMenu ve
mcContactMenu olarak adlandırın. Tüm menülerimiz artık motion tween için hazır.
10. İşiniz bittiğinde FLA dosyanızda yaptığınız değişiklikleri kaydetmeyi unutmayın. Böylece tüm kliplerinizi motion tween için ayarlamış bulunuyoruz.
Not: Motion tween uygularken bir sembolün kopyasını sadece o sembolün aynı katmandaki başka bir kopyasına doğru hareketlendirebilirsiniz. Anahtar kareler içerisinde sadece bu sembol kopyalarının olmasına izin verilir çünkü Flash bir anahtar karede aynı anda sadece tek bir şeye tween uygulayabilir. Hareketlendirilecek sembolün bulunduğu kareye başka nesneler koyduğunuzda, Flash hangi nesnenin anime edileceğini bilemez. Aynı anda birden fazla şeyi hareketlendirmek isterseniz her animasyonu kendi katmanına koymanız gerekir.
İpucu: Flash 8’le gelen Distribute to Layers özelliği, bir metin bloğunun (Modify > Break Apart ile ayrılmış olmalı) harflerini ayrı ayrı hareketlendirmek istediğinizde ya da FLA oluştururken bir öğeler grubunu Stage’e aktarmak istediğinizde oldukça yararlıdır. Stage’de birden fazla nesne seçtikten sonra Modify > Timeline > Distribute to Layers’ı seçerseniz, Flash seçili her nesneyi yeni bir katmana yerleştirir ve isimlendirir. Fakat genelde isimleri elle kendi isteğinize göre düzenlemeyi tercih edeceksiniz. Burada fazla kullanılmasa bile, bu özellik FLA dosyanızı düzenli bir halde tutmanız ve geliştirme sürecini kısaltmanız için oldukça faydalıdır.