Klip ilk görünüşte karışık olmakla beraber uygulamanın
çok kolay olduğunu göreceksiniz. Alttaki grafide onion skin ile
dosyanın tüm özelliklerini tesbit edebilirsiniz. Lütfen dikkatle
inceleyin:
Aşağıdan yukarıya doğru 4.katman arkaplana,
3. katman yıldızlara, 2.katman gezegen
klibine, 1.katman roket klibine aittir. 25.framedeki
stop aksiyonuna dikkat edin. Animasyon motion
tween uygulamasıyla roketin gezegenle buluştuğu 25. framede son
bulmaktadır.Bu framede hitTest komutu ile iki
klibin çakışması algılanmakta ve bir sonraki framedeki çarpma
sesi ve yine uygulanan bir motion tween komutu ile roketin geriye
doğru savrulduğunu görmektesiniz.
1- Önce roket
film klibini oluşturalım. Alt katmana sabit bir roket çizimi üzerindeki
katmana da duman hareketini oluşturmak için basit bir motion tween
işlemi uygulayalım.
2- Yeni bir klip açalım ve oval
aracı ve gradient renk ile bir daire çizelim. Bu gezegen
filmimizdir.
3- Ana sahneye dönelim. Heriki
klibi sahneye yerleştirelim ve adlandıralım. (mekik,
gezegen) Film kliplerini yukarıda anlatıldığı
gibi ayrı katmanlara alalım. Diğer katmanlara yıldızlar ve mavi
bir arka plan ekleyelim.
4- 1.katmanda 25.kareyi seçip
bir keyframe ekleyelim. Roket filmini gezegen filmi ile tam çakışacak
konuma getirelim ve motion tween komutunu verelim. Bu çakışma
alanına getirme önemlidir çakışma olmazsa hitTest komutunu sağlıklı
uygulamak mümkün olmaz. Diğer katmanlara yeteri kadar kare eklemeyi
unutmayalım.
5- 26.kareye bir keyframe ekleyelim.Burası
çarpışma alanıdır. 35.kareyi seçip bir keyframe
daha ekleyelim, roketimizi uygun bir alana ilerletelim. 26.kareye
saat yönünde 8 kez dönecek şekilde bir motion tween uygulayalım.
6- Bir alt katmanda 26.kareye
bir keyframe ekleyelim. Ses efektimizi bu alana
koyalım. Yine bu frame`e bang label adını verelim.
Bu işlem 1.katmana da yapılabilir.
7- Gezegen klibini seçelim,
klip olayı olarak enter frame seçeneğini işaretlayelim
ve Statements->Conditions/Loops yoluyla If
komutunu verelim. Condition alanına this , sonra
.hitTest() komutunu verelim. enterFrame sayesinde
film her saniyede 12 kez(/varsayılan değer) tetiklenecek ve atadığımız
komutlar devamlı uygulamada olacaktır. Parantez arasına diğer
klibin yolunu yazalım.
Çarpışma komutları tamam. Sıra aksiyonda. İstediğimiz
26.karedeki bang etiketine atlaması. Burada ana sahne _root`tur.
_root.gotoAndPlay("bang") yazalım. Son görüntü şöyle
olur:
onClipEvent (enterFrame)
{
if (this.hitTest(_root.mekik)) {
_root.gotoAndPlay("bang");
}
}
Kodları şöyle açıklayabiliriz:
Şayet mekik klibi gezegen klibine temas ederse flash oynatma kafasını
bang etiketine götür ve animasyona o alandan itibaren devam et.