Başlangıç > ActionScript > Movie Clip Çoğaltmak ve Silmek

Movie Clip Çoğaltmak ve Silmek

Merhaba arkadaşlar,

Bu dersimizde temel olarak “duplicateMovieClip” ve “removeMovieClip” kodları ile sahnedeki movie clip’in çoğaltılması ve silinmesini anlatmaya çalıştım.

Çalışmada kullandığımız sahne boyutları 350×140. Ana sahnene Zaman çizgisi üzerinde 12 adet kareyi mouse ile seçip klavyeden F7 tuşuna basarak boş amahtar kareler oluşturun. İlk frameyi seçerek sahnede 55×65 boyutlarında bir kare çizin. Çizdiğiniz kareyi seçerek klavyeden F8 tuşuna basıp kareyi movie klip içine alın. Ana sahnedeki Movie clip’i seçerek instance name kısmına “mc0” yazın ve movie clip’i ana sahnenin dışına taşıyın.

Timeline’daki 1. kareyi seçip action paneline alttaki kodu yazın.

_root.mc0.duplicateMovieClip("mc1");
mc1.swapDepths(getNextHighestDepth());
setProperty("mc1", _x, 4);
setProperty("mc1", _y, 2);
stop ();

İkinci kareye:

_root.mc1.duplicateMovieClip("mc2");
mc2.swapDepths(getNextHighestDepth());
setProperty("mc2", _x, 61);
setProperty("mc2", _y, 2);
stop ();

Üçüncü kareye:

_root.mc2.duplicateMovieClip("mc3");
mc3.swapDepths(getNextHighestDepth());
setProperty("mc3", _x, 118);
setProperty("mc3", _y, 2);
stop ();

Dördüncü kareye:

_root.mc3.duplicateMovieClip("mc4");
mc4.swapDepths(getNextHighestDepth());
setProperty("mc4", _x, 175);
setProperty("mc4", _y, 2);
stop ();

Beşinci kareye:

_root.mc4.duplicateMovieClip("mc5");
mc5.swapDepths(getNextHighestDepth());
setProperty("mc5", _x, 232);
setProperty("mc5", _y, 2);
stop ();

Altıncı kareye alttakini yazın:

_root.mc5.duplicateMovieClip("mc6");
mc6.swapDepths(getNextHighestDepth());
setProperty("mc6", _x, 289);
setProperty("mc6", _y, 2);
stop ();

İlk kareyi seçerek sahnede bir buton oluşturun. Oluşturduğunuz butonu üzerinde sağ tık yapıp kopyaladıktan sonra 2. kareyi seçin ve ana sahnede sağ tıklayarak “paste in place” seçeneğini tıklayın. Bu şekil diğer 10 adet boş anahtar kareleri tek tek seçip ana sahnede butonun kopyalarını aynı koordinatlarda oluşturun.

Butonları oluşturduktan sonra 1.ve 5. kareler arasındaki bütün butonların actions paneline alttakini yazın.

on (release) {
nextFrame ();
}

6. karedeki butonun actions paneline alttakini:

on (release) {
nextFrame ();
mc6.removeMovieClip();
}

7. karedeki butonun actions paneline alttakini:

on (release) {
nextFrame ();
mc5.removeMovieClip();
}

8. karedeki butonun actions paneline alttakini:

on (release) {
nextFrame ();
mc4.removeMovieClip();
}

9. karedeki butonun actions paneline alttakini:

on (release) {
nextFrame ();
mc3.removeMovieClip();
}

10. karedeki butonun actions paneline alttakini:

on (release) {
nextFrame ();
mc2.removeMovieClip();
}

11. karedeki butonun actions paneline alttakini:

on (release) {
nextFrame ();
mc1.removeMovieClip();
}

12. karedeki butonun actions paneline alttakini:

on (release) {
gotoAndStop (1);
}

Kodlarımızı açıklayalım.

_root.mc0.duplicateMovieClip("mc1");

Ana sahnedeki “mc0” adlı movie clip’i kopyalayıp “mc1” isminde ana sahnede yeni bir kopyasını oluşturur. Yeni kopyalanan movie clip ilk karesinden itibaren oynamaya başlar.

Fakat sadece bu şekilde bir movie clip’i çoğalttığınızda sahnede göremezsiniz. Bunun sebebi iki movie clip’inde aynı koordinatlarda olmasıdır. Bunun için yeni kopyalananın koordinatlarını
belirlememiz gerekiyor. Bunuda “setProperty” ile belirledik.

mc1.swapDepths(getNextHighestDepth());

Üstteki kodla sahnedeki kopya “mc1” isimli movie clip’i level değeri en yüksek movie clip yaptık. Diğer çoğalacak olan movie clip’lerede aynı işlemi yaptık. Böylece her yeni çoğalan movie clip bir üst level değerine gidecek ve sahnedeki işlemgörecek ilk öncelik değerine atanacak. Böylelikle biz sonraki aşamalarda movie clip’i sırası ile silerken bir problem çıkmayacak.

setProperty("mc1", _x, 4);

Üstteki kodla sahnedeki movie clip’in özelliklerini ayarlıyabiliyoruz. Koddaki sıra, sırasıyla movie clip adı, movie clipteki yapacağımız özellik ve özellik değeridir. Biz burada “mc1” isimli movie clip’in sahnedeki x konumun değerini belirledik. Ayrıca bu kod içerisinde movie clip’in renk, rotasyon, boyut ve alpha değerlerinide belirleyebilirdik.

setProperty("mc1", _x, 4);

Aynı şekilde “mc1” isimli movie clip’in sahnedeki y konumunun değerini belirledik. Böylece ilk 6 karede sahnedeki movie clip’in yeni bir kopyasını oluşturduk ve bütün kopyaların sahnedeki x-y koordinatlarını belirledik.

ilk 5 framedeki butonlarda kullandığımız kodlar. Tıklama bırakıldığında bir sonraki kareye git.

on (release) {
nextFrame ();
}

6. ve 11. kareler arasındaki butonlarda kullandığımız koda ilk beş karedeki buton kodlarından farklı olarak alttakini ekledik.

movieclip.removeMovieClip();

Bu kod ile sahnedeki ismi belirtilen movie clip’i sildik. Bu kodla silebileceğimiz movie clipler kütüphaneden “attachMovieClip” yoluyla çağırdığımız veya sahnedeki duplicateMovieClip ile çoğalttığımız movie clipler olabilir.

Dersimiz bu kadar. Alttaki bağlantıdan kaynak dosyayı indirebilirsiniz.

Başarılar hepinize iyi çalışmalar.

http://rapidshare.com/files/98123065/duplicate_ve_removeMovieClip.fla.html

Kategoriler:ActionScript
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Yorum bırakın