Flash Dersler(Güncellenecek)

0ğuzhan

New member
Katılım
4 Kas 2005
Mesajlar
2,722
Reaction score
0
Puanları
0
Konum
Sivas
max_tut25_01.gif


Bu dersimizde bir roketin egzozundan çıkan alevleri yapacağız. Daha önceden çizdiğim basit bir roket modelini açıyorum.

max_tut25_02.gif


Create >Helpers >Atmospherics >Shere Gizmo komutlarına tıklıyarak sahnemize bir küresel Gizmo nesnesi oluşturuyoruz... Ardından Modify menüsüne gelerek Hemisphere'i aktif hale gitiriyoruz. Böylece Gizmo nesnemiz yarım hale gelecektir. Muhtemelen istediğiniz konumda olmayacaktır, Rotate komutunu kullanarak istediğiniz konuma getirin.

max_tut25_03.gif


Uniform Scale komutunu kullanarak yanda gösterilen şekli verin...

max_tut25_04.gif


Render >Enviroment '8' ile yandaki pencereyi açın. Add yazan butona tıklayarak açılan pencereden Fire Effect'i seçin. Hemen ardından Pick Gizmo yazan butona tıklayın ve sahnedeki gizmo nesnenizi seçin...

max_tut25_05.gif


Renkler normalde sarı ve kırmızı şeklinde ben biraz değişiklik olsun diye değiştirdim. Renkleri ayarladıktan sonra yandaki resimde mavi ile gösterilen değerleri değiştirin.

max_tut25_06.gif


Eğer alevlere animasyon vermek isterseniz Auto Key düğmesine tıklayın animasyon çubuğunu 100'üncü kareye getirin ve Motion Başlığı altında bulunan Phase değerini artırın...
 
NE OLDU MAGNETA ????


Buton Yapalım
Buton Yapalım
Nerdeyse hayatımızın vazgeçilmez bir parçası oldu butonlar. Bir günlük yaşantımızda o kadar çok butona basıyoruz ki bunları saymaya kalksak belkide daha çeyreğine gelmeden sıkılır bırakırız. Bu hafta; içiçe yaşadığımız, hayatımızda önemli bir yer işgal eden butonların Flashla nasıl yapıldığını anlatacağız.

Bir çok prgramda olduğu gibi Flash'ta da butonlarımızı çok değişik yollarla hazırlayabiliriz. Mesela butonlarımızda sadece Flashla yapacağımız resimleri veya yazıları kullanabileceğimiz gibi daha önceden Photoshop gibi grafik programlarıyla butonumuzun dönüşeceği resimleri hazırlayıp bunları Flash'a import ederekte yapabiliriz.

Bizim anlatacağımız biraz basit olacağından (amaç mantığı kavratmak) sadece Flashla yazacağımız yazılarımızdan butonumuzu yapacağız. Yeni bir çalışma sayfası açarak butonumuzun inşaasına başlayalım isterseniz.

Text Tool aracımızla "Buton" yazalım ve renginide mavi yapalım. Daha sonra yazımız seçili halde iken Insert/Convert to Symbol (F8) komutuyla açılan Symbol Properties penceresinden butonumuza bir isim verelim ve Behavior bölümünden Buton'u işaretleyelim ve Ok tuşuna basalım.


Böylece Flash artık Buton yazımızın buton olduğunun farkına vardı. Şimdi yapmamız gereken butonumuzun fareye göre alacağı şekilleri ve sesleri belirleyeceğimiz özellikler bölümüne geçmek. Bu bölüme geçmek için yazımıza sağ tuşla tıklayıp açılan menüden Edit seçeneğini seçmemiz lazım. Edit bölümüne geçtiğimiz zaman iki kere F6 tuşuna basarak Over ve Down kısımlarına keyframe ekleyelim. Yani ilk framedeki yazımızı aynen bu framelerede kopyalamış olduk. Burdaki Up kısmı butonumuzun ilk görünüşünu yansıtmaktadır. Over, faremizle butonun üstüne geldiğimiz zaman butonumuzun alacağı yeni şekli gösterir. Down ise fareyle butona bastığımız an alacağı şekli gösterir. Over ve down kısımlarına keyframe eklediğimiz zaman timelinemiz aşağıdaki resim gibi gözükmelidir.


Şimdi Over kısmına gelin ve yazımıza çift tıklayarak rengini kırmızı olarak değişin.Down kısmına geçin yazıya çift tıklayın ve rengini siyah yapın. Basit butonumuz şimdilik bitmiş gibi görünüyor. Eğer ses de eklemek istiyorsanız sesleri Over veya Down kısmına veya her ikisinede ekleyebilirsiniz.Butonun durduğu yerde ses çıkartmasını istemiyorsanız Up kısmına ses eklemeyin:)) Sesleri eklemek için Ctrl+L tuşuyla Library'i çağırın ve yine Libraries/Sound seçeneğiyle Flashın kendi ses dosyalarının olduğu pencereyi açalım ve hoşumuza giden iki sesi moviemizin üstüne sürükleyerek kendi Libraryimize ekleyelim. Ben Breaker Switch ve Brick Drops seslerini aldım. Şimidi Üstünde Over yazan framemize çift tıklayarak açılan Frame Properties seçeneğinden Sound kulakçığına gidelim ve sound kısmından Breaker Switchi seçelim ve Ok diyelim. Aynı işlemi Down içinde yapalım ve sound kısmından bu sefer Brick Dropsu seçelim.
 
Bu bölümde film kliplerinin kontrolüne devam ediyoruz. Konu başlıklarını şöyle özetleyebiliriz:

1- Film kliplerini çoğaltmak ve kaldırmak (duplicateMovieClip, removeMovieClip)

Birden fazla örneği yapılan film kliplerinin herbirinin kendine özgün adları ve derinlik düzeyleri mevcuttur. Her derinlik düzeyinde sadece bir film klibi olur. Kopya filmler daima orjinallerinin tüm özelliklerini alırlar.

2- Film kliplerini tutturmak (attachMovie)

attachMovie komutu kütüphanedeki bir film klibini sahnedeki film kliplerine tutturulmasını sağlar.
- Tutturulmuş film klipleri ana klibin özelliklerini üzerine alır. Örneğin ana film 60 derece döndürülmüşse tutturulan klipte 60 derece döner.
- Aynı klibe birden fazla klip tutturulabilir ama derinlik düzeyleri farklı olmalıdır.
- Tutturulmuş bir film klibine de başka bir klip tutturabilirsiniz.


3-İmlecin görüntüsünü isteğe göre düzenlemek

Uygulamalar bölümünde imlecin şeklini değiştirmek için yapılan 4 swf dosyasını göreceksiniz. Bu işlem için herbir örnekte ayrı türde kodlar kullanılmıştır.
 
Basit Shape Tweening Tekniği
1- İlk Flash dersimizde (gerçi Flasla ilgilenmeye başlayanların ilk öğrendiği tekniklerden biridir) bir neysneyi başka bir nesneye dönüştüreceğiz.

2- Rectangle (R) bir kare çizelim.

3- 15. Frameye faremizin sağ tuşuyla tıklayarak Insert Blank Keyframe (F7) yi seçelim. Böylece 15. Frameye boş bir frame eklemiş olduk.


4-Yeni eklediğimiz boş frameye Oval (O) aleti ile
yukarda çizdiğimiz karenin 5-6 cm altına yuvarlak çizelim.

5- Şimdi sıra bu çizdiğimiz şekilleri birbirine dönüştürmeye geldi. Bu işlem için 1 ile 15 inci frame arasında herhangibir framede sağ tuşu tıklayıp Properties seçeneğini seçelim.


6- Properties penceresineden Tweening bölümünden Shape seçelim.


7- Ok butonuna bastıktan sonra framemiz aşağıdaki gibi gözükmelidir. CTRL+ Enter' a basarak yaptığımız animasyonu izleyebilirsiniz.


NOT: Shape tweening tekniğini uygulamak için geçiş yaptığımız iki nesnenin de Break Apart yapılmış olması gerekir. Yapılmamışsa nesneler teker teker seçilip Menü araç çubuğundan Modifly/Break apart (CTRL+B) yapılması gerekir. Yoksa geçiş sağlanmaz.

- Layerleri ekledikten sonra Layer Menüsü aşağıdaki resimde olduğu gibi görünmelidir.


8- Yine kolaylık olması için Layer 3'ün ismini "movie", Layer 2'nin ismini "yazılar" ve Layer 1'in ismini de "komutlar" olarak değiştirelim. Bunu layerlerin üstüne çift tıklayarak yapabilirsiniz. Değiştirdikten sonra Layerler resimdeki gibi gözükmelidirler.


9- Şimdi Movie isimli layerimizin ilk framesine kendi yaptığınız bir animasyonu veya Flashın kendi animasyonlarından bir tane koyun. Ben Flashın kendi animasyonlarından Animated Asterix isimli animasyonu kullandım.Sizde kullanmak isterseniz Libraries/Movie Clips seçeneğinden Animated Asterixi kullanabilirsiniz.

10- Animasyonumuzu movie isimli layerimizin ilk framesine yerleştirdikten sonra üç kere F5 tuşuna basarak veya 2,3 ve 4.frameleri seçip farenin sağ tuşunu tıklayıp Insert Frame komutuyla movie isimli layerimize üç tane frame ekleyelim.Movie isimli layerle işimiz bitti.


11-Yazılar isimli layerimizi seçtikten sonra ilk framesine Text Tool ile Yazılar Yükleniyor yazalım ve F5 tuşuna basarak 1 tane frame ekleyelim. Yine yazılar layerimizden ayrılmıyoruz ve 3.framesine sağ tuşla tıklayarak Insert Blank KeyFrame (F7) seçeneğiyle boş bir frame ekleyelim ve frameye müzik yükleniyor diye yazalım ve F5 tuşuna basalım.Bunları yapınca framelerimizin aşağıdaki gibi görünmesi lazım.


12-Komutlar layerinin ilk framesine çift tıklayarak Frame Properties penceresini açalım. Action kulakçığına geçelim. Artı işaretine basarak If Frame Is Loaded seçeneğini seçelim.Scene bölümünden a'yı seçelim ve Number bölümüne 90 değerini yazalım.Artıya tekrar tıklayarak Go To seçeneğini seçip Scene bölümünden y'yi seçip Number kısmına da 3 değerini yazalım ve alttaki Go to and Play seçeneğini işaretleyelim.




13-Komutlar layerinin 2,3 ve 4. framelerine de boş keyframeler (F7) ekleyin. 2. frameye çift tıklayarak Actiondan Go To seçeneğini seçip okey diyin ve alttaki Go To and Play kutucuğunu işaretleyin. 3. Frameye çift tıklayarak Actiondan If Frame Is Loaded seçeniğini seçin Scene bölümünden a'yı seçin Number kısmına da 180 yazın. Artıya tekrar tıklayarak Go To seçeneğini seçip Scene kısmından a'yı seçip aşağıdaki Go to and Play kutucuğunu da işaretleyerek okey diyin.





14-4. Frameye çift tıklayın,Action kulakçığındaki artıya tekrar basın. Go to seçeneğini seçin ve Number kısmına 3 yazın, alttaki Go to and Play kutucuğunu işaretleyin.İşlemleri doğru yaptıysanız frame ve layerleriniz aşağıdaki gibi gözükmeli.


15-Yaptığımız işle; ilk frameye eğer animasyonumuzun ilk 90 framesi yüklenmişse 3. frameye gidip ordan devam etmesini söylemek oldu. Ama animasyon henüz yüklenmemişse bu sefer direkt olarak 2.frameye geçecek. Bizde 2.frameye tekrar 1.frameye dönmesini söyledik.Animasyon yine yüklenmemişse 1.frame tekrar 2.faremeye geçecek, 2.frame ise tekrar 1.frameye gidecek. Böylece 1 ile 2. frameler arasında bir döngü başlatmış olacağız. Taki animasyonumuzun ilk 90 framesi yüklenene kadar. Diğer 90 framesini ise 3 ve 4 arasında başlattığımız döngü ile yüklenmesini sağlayacağız.
 
Flash ile bir resim sunusu hazırlamak kolay bir işlemdir. Bu işlem için kullanacağınız resimler ve sunuyu çalıştırmak için birkaç actionscript kodu yeterlidir. Çalışmayı 2 safhada tamamlayacağız. Önce flash içine ekleyeceğimiz sembolleri tamamlayacak sonra da kodları ekleyeceğiz.

Şimdi sunumuzun planını oluşturalım: Yapmak istediğimiz üzerinde ileri ve geri butonları içeren bir çerçeve içinde resimlerimizi göstermektir. Fakat gösteriye görsellik kazandırmak için sahneden kaldırılacak ve eklenecek resimlerin bir solma efekti ile yer değiştirmesini düşünüyoruz. Ayrıca son resim açıldığında ileri butonunun ve ilk resim varken geri butonunun kaybolmasını da planladık. Böylece kullanıcı ilk veya son resimde olduğunu bilecektir. Bu işlem flash5 ile uzun kodlarla oluşturulabilir. Halbuki flash-mx`de butonlara örnek adı verilebildiğinden basit bir butonAdi._visible=false komutu ile buton görüntüsünü ortadan kaldırmak mümkün olmuştur. Şimdi bu işlemin nasıl yapıldığını görmek için alttaki swf dosyasını inceleyin. Boyut resimler nedeni ile 50kb dir.

1- Yeni bir flash sayfası açalım ve sembollerimizi oluşturalım. Dikdörtgen aracı ile dış kenarı olmayan bir dikdörtgen çizelim. Orta kısmını açmak için üzerine resimlerin sığacağı boyutta tekrar bir dikdörgen çizelim. Bu son dikdörtgeni seçerek silelim. Resim boşluğumuz oluştu. Bir tane buton hazırlayıp alt kısma yerleştirelim. Bunun bir örneğini daha diğerinin yanına koyalım. Modify-->Transform-->Flip Horizantal komutu ile 180 derece çevirelim. İleri ve geri butonlarımızda tamam.

2- CTRL+F8`e basarak sembol panelini açalım. Davranış olarak film klibini seçelim. Buraya her resim bir kareye yerleştirilecek şekilde resimlerimizi import edelim. Resimlerimiz önceden resim editörü ile boyutlamakta yarar vardır. Bu işlem flash içinde de yapılabilir fakat dosya boyutunu fazlası ile arttıracaktır. Bizim sunumuzda 4 adet resim vardır.Yani klip 4 kare içermektedir.Sahneye dönelim. Çerçeve katmanımızın alt kısmına yeni bir katman ekleyelim. Filmimizi bu katmana tam çerçevedeki boşluk hizasına yerleştirelim, örnek adı olarak resim yazalım.

Daha sonra ekleyeceğimiz kodların sürekli döngü yapabilmesi için her iki katmana da fazladan birer kare ekleyelim.

3- Sunumuz hazır. Şimdi sıra kodlarda: Sahnedeki filmimizi seçelim ve


Kod:
onClipEvent(load){
stop();
}
komutunu verelim. Bu komutla film yüklendiğinde oynamayacak ve ilk karede bekleyecektir.

4- Ana timeline`a dönelim. Buraya resimleri ileri ve geri götürme işlemi için bir fonksiyon yazacağız. En üst kısma 3. katmanı ekleyip aksiyonlar adını verin. 1.kareyi seçin şu komutları atayın:


Kod:
function ilerleme(nereye){
resim.alfadegisimi=-5;
resim.hedefkare=resim._currentFrame+nereye;
}
Burası size karışık geliyorsa sık sorulan sorular bölümümüzde fonksiyonların hazırlanması kısmını inceleyin. İlerleme adı altında bir fonksiyon oluşturduk. Parametre olarak nereye ifadesi var. Solma efekti için resim klibimize atanan alfadegisimi`nin değerini -5 olarak verdik. Yani solma işlemi filmin her döngüsünde %5 oranında azalacak ve diğer gelecek filmde %5 artacaktır. Yine resim klibimize atana hedef kare değişkeninin değeri currentFrame yani o anda filmin bulunduğu kareye ait rakama (4 resim olduğundan 1 den 4 e kadar değişen bir rakam olacaktır) nereye parametresine atanacak rakamın eklenmesi ile oluşacak rakamdır. Bu işlem karışık gelebilir. Butonlara ait komutlara geçince niye böyle bir işlem yaptığımızı anlayacaksınız.

5- Şimdi ileri butonunu seçelim ve instance panelinde ileri olarak isim verelim. Bu isim ilerde butonların kaybolması için bize gerekecektir. Script panelimizi açalım ve


Kod:
on (release){
_root.ilerleme(1);
}
Komutunu verelim. Düğmeye bastığınızda az önce oluşturduğumuz ileri fonksiyonu çalışacaktır. nereye parametresine 1 değerinin verildiğine dikkat edin. Şimdi yukardaki foksiyonu niye yazdığımızı göreceksiniz. Ne yazmıştık:

resim.hedefkare=resim._currentFrame+nereye; Burada nereye değişkeninin değeri butona basıldığı anda 1 oluyor. _currentFrame o anda resim klibinin hangi karesinde olduğumuzu gösteren değer. Diyelim 2. karedeyiz. Bu durumda bu komutun değeri 2 dir . 2 ile nereye değişken değeri olan 1 rakamını toplayınca 3 oluyor. O halde butona basılınca film klibi 3. kareye geçecektir.

Şimdi geri butonuna tıklayalım, geri örnek adını verelim ve script paneline şu kodları atayalım:


Kod:
on (release){
_root.ilerleme(-1);
}
Yukardaki örneği göz önüne aldığınızda geri butonuna basılınca 2-1=1 klip 1.kareye atlayacaktır.

6- Film klibimize dönelim ve sayfamlık işini halledelim. load klip olayı ile filmi ilk karede durdurmuştuk.Şimdi bir enterframe olayı ekleyeceğiz. İlk komutun hemen altına şunları ekleyin:


Kod:
onClipEvent(enterFrame){
_alpha+=alfadegisimi;
if(_alpha<1){
gotoAndStop(hedefkare);
alfadegisimi=5;
}
if(_alpha>100){
alfadegisimi=0;
}
}
Niçin enterFrame kullandık. Bildiğiniz gibi bu klip olayında film herbaşa döndüğünde komutlar yeniden icra edilir. Diğer klip olaylarında ise bir kez işleme girer. EnterFrame olayı ile her komut icrasında alfa değeri %5 azalacak ve solma efekti işleme katılacaktır. Bunu yapmasa idik solma efektini oluşturamayacaktık.

_alpha+=alfadegisimi; filmin alfa değerine her tetiklenmede fonksiyonda alfadegisimi değişkenine değer olarak yazdığımız -5 azalma oluşacaktır. Bu azalma bize her tetiklenmede %5 lik bir alfa değer kaybını sağlayacak ve solma efekti oluşacaktır.Bu nereye kadar sürecek. Bir alt satırdaki if komutuna kadar . Burada şayet alfa değeri 1 den az ise fonksiyonlarda verdiğimiz hedef kare ye atlamamızı ve solma efektinin durmasını sağlar. Hemen altında alfadegisimi=5 ise yeni çıkan resmin alfa değerininde %5 lik değer artışını sağlar. Böylece yeni çıkan resimde önce soluk sonra giderek netleşen bir efekti bize verir. Değer 100 den büyük olursa alfadeğişim değeri sıfır yapılır ve 100+0= 100 olacağından resim netliği %100 alfa ile kalır.

Şu anda program çalışır. Fakat son kareye gelince hala ileri butonunun gözükmesi kullanıcıya başka bir resim olduğunu düşündürür. Bu hatayı önlemek için flash-mx nimetlerinden yararlanacağız. ileri ve geri butonlarına aynı adı taşıyan bir örnek isim vermiştik. Şimdi ana timeline`da fonksiyonumuzun olduğu kareyi seçelim ve script panelini açarak fonksiyonumuzun hemen altına şu komutları ekleyelim:


Kod:
if(resim._currentFrame==4){
ileri._visible=false;
} else {
ileri._visible=true;
}
if(resim._currentFrame==1){
geri._visible=false;
} else {
geri._visible=true;
}

İfadeleri anlamak kolaydır. Filmimiz 4 kare idi. Şayet resim klibi 4. karede ise ileri butonu gösterme, değilse yani 4. kare dışında bir karede ise butonu göster anlamındadır. Aynı işlem geri butonu için 1. karede kulllanılır. Bu komutlar için flash-mx programı gereklidir.

Scriptlerimizin görüntüsü şöyle olacaktır:

resim klibi:

onClipEvent(load){
stop();
}
onClipEvent(enterFrame){
_alpha+=alfadegisimi;
if(_alpha<1){
gotoAndStop(hedefkare);
alfadegisimi=5;
}
if(_alpha>100){
alfadegisimi=0;
}
}
 
İlk işimiz Flash MX'i açıp File --> New (Kısayol: CTRL + N) ile 550 x 400 px bir çalışma alanı oluşturmak. Bu alanda

iki farklı pencere sistemi yaratmayı düşünüyor ve bu doğrutuda hazırladığımız iki butonu (Aynı butonları da

kullanabiliriz.) boş olan ilk layer'ımıza yerleştiriyoruz. Butonların içeriklerine ya da işaretlerden oluşturulmuş

butonlar ise yanlarına açıklayıcı yazılar ekleyebiliriz.

İki tane farklı pencere demiştik. Aslında bunlardan bir tanesini oluşturduktan sonra duplicate ile ikincisini

yaratıp ikinci oluşturduğumuz pencereyi uygun biçimde editlemek en mantıklı çözümdür. O nedenle ilk penceremizi

oluşturmayı daha detaylı biçimde anlatacağız. İkincisini ise gerekli düzenlemeleri yapmak şeklinde tanımlayacağız.

Main Scene'de boş bir layer tanımlayıp (Insert --> Layer) yine Insert --> Symbol (Kısayol: CTRL + F8) ile boş bir

movie clip oluşturalım. Önce birinci frame boş kalmak ve action scriptinde stop(); yazmak üzere ikinci frame'den

itibaren penceremizin üst kısmında yer alacak araç çubuğu görevindeki dikdörtgen (Örnekte 196 x 23 px butonu

yerleştirelim.) Instance Name'i amtopbutton olsun. Bu arada göstermek istediğimiz pencere boyutlarına uygun bir mask

yaratıp (Örnek çalışma için 200 x 300 px) 25. frame'e taşıyalım. Bu mask 0 - 25 - 50. frameler arasında motion tween

ile açılıp kapanmayı sağlayacak olan elemanımızdır. Buradan da basitçe anlaşılabileceği gibi 25. frame yine stop();

eylemine sahip, pencerenin tümünün görünür olduğu ve içeriğin bulunduğu parçadır. Tasarımınızdaki frame aralıklarına

göre movie'yi oynattığınızda yalnızca üstteki araç çubuğunun göründüğü noktayı belirleyerek (Örnekte 48. frame) bu

frame bir stop(); kodunu yerleştirelim. Yine 2. ve 48. frame aralığında görünür olmak üzere iki küçük kare buton

oluşturup bunları minimize ve close işlemlerini gerçekleştireceklermiş gibi düşünelim. Bu butonlardan minimize

olarak tasarladığımızın action scriptine;


Kod:
on (release) {
gotoAndPlay(26);
}
yazalım. Close olarak tasarladığımıza ise;


Kod:
on (press) {
_root.ampagestatics = false ;
gotoAndStop(1);
}
yazalım.

Minimize edilmiş olan penceremizin görüntüsünü sağlayan 48. frame'e ise yine aynı boyutlara sahip bir restore butonu

koyup action scriptini aşağıdaki gibi vermemiz uygun olacaktır:


Kod:
on (release) {
gotoAndPlay(3);
}
kodunu yerleştirerek ana sahnemizde ampagestatics adlı bir değişken tanımlayıp bunun değişken değerini true olarak

ayarlayalım. Bu bize pencereyi tetikleyen butona ikinci defa basıldığında pencerenin zaten açık olduğu için herhangi

bir eylem yürütmemesini sağlayacaktır.


Kod:
amtopbutton.tabEnabled = false;
kodlaması ise üst çubuk olarak tasarladığımız butonun tab tuşuna yanıt vermemesini sağlar. Bu top button'un action

scriptine;


Kod:
on (rollOver) {
amtopbutton.useHandCursor = false; //Mouse işaretçisinin bir el işaretçisine dönüşmemesi için.
}
on (press) {
startDrag(am); //Pencerenin taşınabilirliğini sağlamak için.
newdepths = newdepths+1; //Yeni ve eskisinden bir üst değere sahip bir derinlik için.
_root.am.swapDepths(newdepths); //Penceremize bu yeni derinliği uygulamak için.
}
on (release) {
stopDrag(); //Pencere bırakıldığında o an için bulunduğu noktada kalması için.
}
yazalım.

Yine tab tuşunun erksiz olması için minimize yapan buton (ampminb) ve maximize yapan buton (ampmaxb) instance

name'leri verildikten sonra bulundukları layer'ın action scripti'ne;


Kod:
ampminb.tabEnabled = false;
ampmaxb.tabEnabled = false;
kodlaması girilir.

Main Scene'de ilk frame'imize yerleştireceğimiz bu pencere movie clip'ine about me kısaltması olarak am instance

name'ini verelim. Sonrasında yine ilk frame'in action script kısmına bir fonksiyon tanımlayarak penceremizin

açılmasını ayarlayan aşağıdaki kodları yazalım:


Kod:
renin açık olup olmadığını kontrol eden değişkenimizi false olarak tanımlamak için.
newdepths = 1;//newdepths adında bir değişken tanımlayıp 1 değerini vermek için.
_global.newdepths; //newdepths değişkenini çalışma içinde global bir değişken haline getirmek için.
function ampageopen () {
if (ampagestatics == false) {
setProperty("am", _x, "125"); //açılan pencerenin x koardinatını belirlemek için.
setProperty("am", _y, "200"); //açılan pencerenin y koardinatını belirlemek için.
tellTarget ("am") {
gotoAndPlay(2); //pencereyi açmak için.
}
}
else { stop(); //eğer pencere zaten açıksa işlem yürütmemesi için.
}
}
Bundan sonraki işlem Library'den (Kısayol: CTRL + L) bulacağımız movie clip'i Duplicate etmek ve içeriğini uygun

biçimde editlemek suretiyle çalışmamıza dahil etmektir. Bu işlem örnekte web mail olarak gösterilmiştir. Bu şekilde

text ile anlatımı oldukça zor olsa da örnek dosya üzerinde inceleme yapacak olursanız daha kolay anlaşılabileceğini

düşünüyorum.

Geldik hazırladığımız pencereyi nasıl açtıracağımıza... Pencerenin açılmasını sağlayacak butona fonsiyonu

çağırmasını söylemek yeterli olacaktır.


Kod:
on (release) {
ampageopen ();
}

Böylece taşınabilen, minimize close ve restore özelliklerine, üstüste bindiğinde derinlik ayarına sahip bir pencere

sistemimiz oldu. Elbette movie alanı dışına sürüklenmeye çalışıldığı vakit bunu engelleyen ya da daha farklı

şekillerde özelliklere sahip gelişmiş uygulamalar yapmak sizin elinizde.

Çalışmamızı kaydetmek için File --> Save (Kısayol: CTRL +S) yapmamız yeterlidir.
 
Bu bölümde bahsedilecek konuları şu ana başlıklar altında toplayabiliriz: 1- Basit butonlar

2- Komplike ve animasyonlu butonlar

3- Butonlara tween uygulaması

4- Pop-up menü ( Çekme menüsü ) oluşturma

5- Buton izleme seçenekleri

6- Key-press ( Klavye girdileri ) olayları

7- Buton over alanına film klibi ekleyerek animasyonlu buton oluşturma

Butonlar sadece başka bir sayfaya yönlendirme amacıyla kullanılmazlar. Film klip leri içinde actionscriptlerle beraber kullanıldığında çok çarpıcı sonuçlar elde edilir. Bu amaçla gizli butonlar sıklıkla tercih edilir.



Gizli butonlarda up, over, down alanları boş bırakılıp sadece hit bölgesine dolgu içeren bir alan eklenir. Flash`ta bu buton sahneye sürüklendiğinde açık mavi renkte gözlenir.Filmi browser`da açıldığında ise hiçbir imaj görülmez, fakat mouse ile üzerine gelindiğinde el imajı ortaya çıkar.Bu butona eklenen tüm komutlar kusursuz olarak çalışır.

Şöyle bir menü görüntüsü düşünün: Ana butona basıldığında alt grup butonlar açılıyor ve bu gruplara ulaşmak için fareye basma hareketini bırakmadan sürükleme yöntemi ile diğer butonlara ulaşma animasyonunu oluşturmak istiyorsunuz. Alt butonlar üzerine gelindiğinde fare bırakılıyor ve bağlantılı adrese ulaşılıyor. Ana butona basıldığında ortaya çıkan menü basma hareketinden vazgeçildiği an kayboluyor. İşte bu tür bir menü için "Track as Menu Item" seçeneğini kullanmalısınız. Örnek dosyamızda heriki izleme seçeneğini aynı anda göreceksiniz. Kullanılan semboller, kodlar hatta timeline aynı olmasına rağmen izleme seçeneğinin değiştirilmesiyle tamamen farklı bir animasyon elde edilmiştir.

Bir klavye girdisi için flash`ta 2 yöntemi kullanabilirsiniz:

1- Örnekteki gibi basit bir keypress olayı yaratmak

2- Key nesnesini kullanmak.

Key nesnesi actionscript bölümünde anlatılacaktır
 
7ea923e222.jpg


Gölge olması için öncelikle sahnede bir ışık kaynağı olması gerekir, Işık kaynağını yaptıktan sonra Modifier menüsünü açarak ışığın ayarlarını değiştirmemiz gerekir, aşağıda bir Omni ışık kaynağı kullanılmıştır, yapılacak tek ayar 1 numara ile gösterilen Object Shadows seçeneğini on yapmak. 2 numarada gösterieln iseışık kaynağının kendi içinde bir kaplama kullanmak içindir. Bu özellikten faydalanarak büyük gölgeleri taklit edebilirsiniz. mesela ışık kaynağına bir ağaç resmi koyarsanız yaptığınız sahnede bir ağaç olmasa da gölgesi olur. Bu tür gölge kaplamasının sadece siyah-beyaz olması gerekir.[/
 
teşekkürler baktım Photoshop ve flash yazıo ama flashla ilgili bişi yok bende p3simist ne duruon deli oğlum paylasım yap dedim yapıom :d
 
Klip kontrolu

Flash film kliplerinin görünümünü ve davranışlarını kontrol etmemize izin verir. Bu bölümde film klibinin konum, ölçek, saydamlık, rotasyon, renk özelliklerini değiştirmeyi, bir film klibini sahnede nasıl sürükleyeceğinizi göreceksiniz.

Flash-MX veriyonundan itibaren bir film klibine butonlara atanan komutları da yazmak mümkündür. Bu çok etkili bir özelliktir. Bu sayede animasyon içeren buton hazırlamak sorun olmaktan çıkmıştır. Yerinde kulla nıldığında çok yararlı olan bir özelliktir.

Bu dersimizde Swapdepths komutuyla sürükleme sırasında üstüste gelen filmlerin takas edilmesi, dropTarget komutuyla sürüklenen bir film klibinin bırakıldığı anı algılaması, hitTest komutuyla hareket eden veya sürüklenen bir film klibinin diğer bir film klibine dokunduğunu kavrayıp gerekli reaksiyonu vermesinin nasıl olacağını inceleyeceksiniz.

Bu özellikleri öğrenerek gerçekten olağanüstü etkileşimler oluşturabilirsiniz. Bu konuda tanımlanan yöntemler oyunların hazırlanmasında uygulanan temel konulardır. Daha fazlasını yapmak sadece sizin hayal gücünüze bağlıdır ve hayal edip uğraştığınızda flash`la yapılamayacak efekt yoktur.

Konu başlıklarını şöyle özetleyebiliriz:

1- Film kliplerinin sürüklenmesi ve durdurulması(startDrag, stopDrag)

2- Film kliplerinin renk özelliklerinin değiştirilmesi(setProperty)

3- Üstüste binen film kliplerinin takas edilmesi(swapdepths)

4- Bırakılmış film kliplerinin algılanması( dropTarget)

5- Film kliplerinin çakışmalarının algılanması(hitTest)

Setpropery komutu birden fazla parametre içerdiğinden örneklere geçmeden bu parametreler hakkında bilgi vermekte yarar vardır. Aşağıdaki listede bir film klibinin değiştirilebilen özelliklerini görüyorsunuz:

_alpha: Saydamlığı belirler, 0-100 arası değer verilir.<

_visible: Bir klibin görülüp görülemiyeceğini ayarlar, True-False değerleri içerir.

_name: Film klibine yeni bir örnek isim belirler.

_rotation: Artı değerler saat yönünde döndürmeyi sağlar.

_height: Dikey boyutu belirler-piksel cinsinden bir sayı-

_widht: Yatay boyutu belirler

_x: Film klibinin yatay pozisyonunu düzenler-piksel cinsinden bir sayı->

_y: Film klibinin dikey pozisyonunu düzenler

_xscale: Film klibinin yatay boyutunun yüzdesini belirler.

_yscale: Film klibinin dikey boyutunun yüzdesini belirler.

_highquality: 0, 1, 2 değerleri vardır. 0 en düşük değerdir.</FONT>

_quality: Üstteki komuttan pek farklı değildir .Low, medium, high ve best
seçenekleri mevcuttur.

_soundbuftime: Filmin sesi başlatmadan önceki saniye sayısını belirler. Varsayılan değer 5sn.`dir.

İpucu: x ve y pozisyonlarında koordinatlar biraz farklıdır. Ana sahnede x ve y pozisyonlarını sıfır değeri sol üst köşedir. Yani x=0 ve y=0 koordinatı sahnenin sol üst köşesidir. Artı işaretli x değeri tesbit noktasının sağına doğru artar sola doğru negatif değerlerle azalır. y değeri aşağıya doğru artar, üste doğru negatif değerler alarak azalır
 
max_tut30_01.gif


Bu derste Reactor kullanarak ufak bir düzenek yapıcaz. Ben daha önceden kendime bir düzenek hazırladım. Tamamı ile kutulardan oluşuyor. Siz bunun yerine başka şekillderde kullanabilirsiniz.

max_tut30_02.gif


Öncelikle sahnemizde hangi objelerin sabit kalıp hangilerinin haraketli olmasına karar vermeliyiz. Ben en alttaki iki kutuyu haraketsiz bıraktım çünkü yerçekiminden etkilenmemesi lazım yoksa sonsuzluğa kadar düşer. Sahnemizin herhangi bir yerine Create > Helpers bölümünden RBCollection oluşturuyoruz. Daha sonra Modify panelinini açıp Pick komutu veya Add komutuyla tüm objeleri seçiyoruz.

max_tut30_03.gif


1. ve 2. kutuları seçip Utilities > Rector > Properties bölümünen Unyielding'i işaretliyoruz. Bunun amacı Havada haraketsiz kalmak yani yerçekiminden etkilenmemek. Eğer üstüne herhangi bi Obje gelirse kendisi etkilenmez fakat Objeyi etkiler. Yani yeryüzü gibi. Ben bu kurmuş olduğum düzenekte 3. ve 4. kutuya 1kg lık değer koydum. 4. kutuda Elasticity 1 Friction değerinide 0.5 olarak koydum. Elasticity elastikli, Friction ise sürtünmeyi belirtir. deneme yanılma yöntemiyle Duruma daha kolay kavrayabilrsiniz. son olarakda 5. kutuya 2kg yapıp Elasticity=0.3 ve Friction=1.0 değerlerini girdim.

max_tut30_04.gif


Şimdi son olarak Create Animation diyerek bilgisayarın tüm bu fiziksel haraketleri hazırlamasını bekliyoruz. Makine bu konuda fazla zorlanmıyacak. Hazırlanmış bu sahneyi Play Animation tuşuna basarak izliyebilirsiniz.
uygulama dosyasını indirin.
 
ellerine sağlık kardeşim? güzel paylaşımlar.. devamını isteriz:)
 
Geri
Üst