Tabi Burada Action Script 3 (AS3) kullanarak işlemlerimizi biraz daha kolaylaştıracağız.
flash cs5 as3.0 ı açalım ve başlayalım.
Öncelikle sahne ayarlarını 300 e 300 yapalım. Bu benim yaptığım siz de çalışmalarınıza göre ayarlayabilirsiniz.
Şimdi ilk önce movieclip nesnelerimizi oluşturalım. İsimlerini ben "1,2,3,4,5" şeklinde verdim ve içlerine farklı renkte kareler çizdim Siz isterseniz resim veya herhangi bir şekil, yazı yapabilirsiniz. Bunları 300 e 300 yaparsanız uyumlu olur.
Bunları yaptıktan sonra bunları 1 movieclipte toplamayı düşünüyorum Siz isterseniz sahnede de yapabilirsiniz.
Şuanlık Kütüphane Görüntümüz:
Şimdi "anim" movieclip'in içine girip işlemlerimizi yapalım.
3 katman ekliyoruz.Bu katmanlara çift tıklayarak En üsttekine "action", Ortadakine "arkaplan", alttakine ise "nesneler" isimlerini verelim. Bunların normalde flash'ın çalışmasında hiç bir etkisi yoktur Sadece kullanıcının neyin nerde olduğunu bildirir ve yanlış değişikliklerden korur.
Katmanların her birine 10 tane Anahtar Kare (key frame) ekleyelim.
Zaman Çizelgemizde (timeLine) son görüntü:
Şimdi nesnelerimizi Kütüphaneden yerleştirelim.
"action" ve "arkaplan" katmanlarını kilitleyelim.
İlk frame'e(kareye) (Birinci (1.) Kare):
"nesneler" katmanının ilk frame'ine "5" isimli nesnemizi koyalım ve bunun x ve y koordinat değerlerine 0 yazalım Nesnemizin "instance name"ine ("örnek adı"na) "besinci" yazalım . Bu işlemi "Align" panelinden de yapabilirsiniz. Bu ilk frameye "1" isimli nesnemizi de koyup x değerine 0 y değerine -300 yazalım (x=0,y=-300) Nesnemizin "instance name"ine ("örnek adı"na) "birinci" yazalım.
İkinci (2.) frame(kare)'e geçelim.
İkinci kareye sadece "1" isimli nesnemizi koyalım ve x'e 0 y'ye 0 (x=0,y=0) değerlerini verelim.
Üçüncü (3.) Kare (frame):
"1" isimli nesnemizi yine x=0, y=0 olacak şekilde koyuyoruz Nesnemizin "instance name"ine ("örnek adı"na) "besinci" yazalım. Bunun yanında "2" nolu nesnemizi koyuyoruz ve x=-300 y=0 konumlandırmasını yapıyoruz Nesnemizin "instance name"ine ("örnek adı"na) "ikinci" yazalım.
Dördüncü (4.) Kare:
Bu karede sadece "2" nolu nesnemiz olacaktır x=0 y=0 değerlerini verelim Nesnemizin "instance name"ine ("örnek adı"na) "besinci" yazalım.
Beşinci (5.) Kare:
"2" nolu nesnemiz yine x=0 y=0 konumunda olacaktır Nesnemizin "instance name"ine ("örnek adı"na) "ikinci" yazalım. "3" nolu nesnemizide ekleyip x=0, y=300 konumlandırmasını yapalım Nesnemizin "instance name"ine ("örnek adı"na) "ucuncu" yazalım .
Altıncı (6.) Kare:
Burada sadece "3" nolu nesne olacaktır ve x=0 y=0 konumunda olacaktır.
Yedinci (7.) Kare:
"3" numaralı karemiz yine ortada (x=0 y=0) olacaktır Nesnemizin "instance name"ine ("örnek adı"na) "ucuncu" yazalım. "4" nolu nesnemizi de ekleyip x=300 y=0 konumlandırmasını yapıyoruz Nesnemizin "instance name"ine ("örnek adı"na) "dorduncu" yazalım.
Sekizinci (8.) Kare:
"4" isimli nesnemizin x=0 y=0 olarak yerleştiriyoruz.
Dokuzuncu (9.) Kare:
"4" isimli nesnemiz yine ortada x=0, y=0 ve Nesnemizin "instance name"ine ("örnek adı"na) "dorduncu" yazalım. Bunun yanına "5" isimli nesnemizi ekliyoruz x=-300 y=0 olarak konumlandırıyoruz Nesnemizin "instance name"ine ("örnek adı"na) "besinci" yazalım.
Onuncu (10.) Kare:
Burada sadece "5" nolu nesnemiz olacaktır ve x=0 y=0 olarak konumlandırıyoruz.
Bu Katmandaki işlemlerimiz bitmiştir.
Bu katmanı kilitleyelim ve gizliyoruz "arkaplan" katmanını açıyoruz ve orada ufak bir işlem yapıyoruz.
"arkaplan" katmanına 300'e 300 boyutunda bi kare çiziyoruz Rengini %10 saydam yapabilirsiniz. Konumlandırmasını x=0 y=0 şeklinde yapıyoruz. Burayı maske olarak kullanacağız. İsterseniz yapmayabilirsiniz.
Şimdi ActionScript kodlarını yazmaya sıra geldi.
Şuanlık görüntümüz:
Şimdi "action" katmanına geçelim.
Kodları Kare Kare yazacağım Kopyala yapıştır yapalım.
Birinci (1.) Kare:
//ilk anda hareket etmemesi için stop(); kullanıldı.
stop();
//sayac istenilen yere gelip gelmediğini kontrol ettirmek için veya
//nesneyi 10 kez hareket ettirdikten sonra diğer kareye atlamak için kullanıldı
var sayac:Number = 0;
//fonksiyon açıyoruz. Bunu döngü olarak ta düşünebilirsiniz.
//setInterval komutunu sağladığında bu fonksiyon çağrılacaktır.
function fonk1():void
{
//beşinci ("5") nesnemizin "y" değerine 30 ekliyoruz.
besinci.y += 30;
//birinci ("5") nesnemizin "y" değerine 30 ekliyoruz.
birinci.y += 30;
//Sayacı 1 arttırıyoruz. Bu döngünün veya nesnenin bir kereliğine hareket ettiğini gösteriyor.
sayac++;
//sayac ı kontrol ediyoruz. nesne 10 kere hareket etmişse 2. frame e geçiyoruz.
if (sayac == 10)
//koşul sağlanınca buraya girecektir. yani nesne 10 kez hareket ettikten sonra
{
//Intervalin başka işlem yapmaması ve/veya ram'de durmaması(yormaması) için siliyoruz. Bu işlem önemlidir.
clearInterval(interval1);
//2. kareye git ve dur.
gotoAndStop(2);
}
}
//interval tanımı.
//Burada "100" mili saniye cinsindendir. yani 1 saniye geciktirme yapmak istiyorsanız 1000 değerini yazmanız gerekiyor.
//100 mili saniye bekledikten sonra "fonk1" adındaki fonksiyona gider.
var interval1:uint = setInterval(fonk1,100);
İkinci (2.) Kare:
//Burada fonksiyon oluşturuluyor.
//Interval 3 saniye bekledikten sonra fonksiyonun içindeki işlemler yapılır.
function fonk2():void
{
//Interval kaldırılıyor.
//Bu işlem önemlidir.
clearInterval(interval2);
//3. kareye git ve dur.
gotoAndStop(3);
}
//İnterval tanımı yapılıyor.
var interval2:uint = setInterval(fonk2,3000);
Üçüncü (3.) kare:
var sayac2:Number = 0;
function fonk3():void
{
birinci.x += 30;
ikinci.x += 30;
sayac2++;
if (sayac2 == 10)
{
clearInterval(interval3);
gotoAndStop(4);
}
}
var interval3:uint = setInterval(fonk3,100);
Dördüncü (4.) kare:
function fonk4():void
{
clearInterval(interval4);
gotoAndStop(5);
}
var interval4:uint = setInterval(fonk4,3000);
Beşinci (5.) kare:
var sayac3:Number = 0;
function fonk5():void
{
ikinci.y -= 30;
ucuncu.y -= 30;
sayac3++;
if (sayac3 == 10)
{
clearInterval(interval5);
gotoAndStop(6);
}
}
var interval5:uint = setInterval(fonk5,100);
Altıncı (6.) kare:
function fonk6():void
{
clearInterval(interval6);
gotoAndStop(7);
}
var interval6:uint = setInterval(fonk6,3000);
Yedinci (7.) kare:
var sayac4:Number = 0;
function fonk7():void
{
ucuncu.x -= 30;
dorduncu.x -= 30;
sayac4++;
if (sayac4 == 10)
{
clearInterval(interval7);
gotoAndStop(8);
}
}
var interval7:uint = setInterval(fonk7,100);
Sekizinci (8.) kare:
function fonk8():void
{
clearInterval(interval8);
gotoAndStop(9);
}
var interval8:uint = setInterval(fonk8,3000);
Dokuzuncu (9.) kare:
var sayac5:Number = 0;
function fonk9():void
{
dorduncu.x += 30;
besinci.x += 30;
sayac5++;
if (sayac5 == 10)
{
clearInterval(interval9);
gotoAndStop(10);
}
}
var interval9:uint = setInterval(fonk9,100);
Onuncu (10.) kare:
function fonk10():void
{
clearInterval(interval10);
gotoAndStop(1);
}
var interval10:uint = setInterval(fonk10,3000);
Kodlarımızı da tamamladık.
Son işLemimiz ise "arkaplan" katmanına sağ tıklayıp mask (maske) seçeneğine tıklıyoruz.
Şimdi "anim" movieclip'i sahneye x=0 y=0 konumuna yerLeştirelim.
Vee Bitti.
Çalıştırıp Deneyelim.
Sorularınızı yorum olarak yazabilirsiniz.
Dosya Link'i:
İndir
Saygılar...