Minggu, 19 Mei 2013

Duplicate MovieClip dalam Fungsi for


Sekarang kita akan menjadikan duplicate MovieClip sebagai statement dalam fungsi for sehingga hasil duplikasi menjadi lebih banyak. Perhatikan contoh berikut :

for (i=1; i<=10; i++) {
        mc.duplicateMovieClip("mc"+i, i);
        allMc = eval("mc"+i);
        allMc._x = 100+(30*i);
        allMc._y = 200;
}

Fungsi for pada Script di atas menghasilkan deret bilangan dari 1 s.d 10 yang ditunjukkan oleh variable i. Kemudian movie clip dengan nama “mc” diduplikat menghasilkan nama baru yakni “mc1”, “mc2”, “mc3”, dst oleh script dengan kode penulisan “mc”+i. Selanjutnya agar hasil duplikasi terlihat jelas maka kita perlu melakukan positioning pada movie clip hasil duplikasi. Untuk melakukan positioning, pertama kita harus memberikan variable yang bisa mengakses setiap movie clip hasil duplikasi. Ada dua cara untuk melakukan ini yaitu dengan menggunakan kode eval(variable) dan setProperty(target,property, nilai).

Untuk script di atas, kode allMc = eval("mc"+i); berarti setiap movie clip hasil duplikasi dapat di akses menggunakan variable allMc. Sehingga kode yang hanya terdiri dari satu baris itu sama halnya ketika ketika kita menuliskan kode panjang  seperti berikut :

mc1._x=130; mc2._x=160; mc3._x=190, dst… 

Sekarang kita akan mengupas lebih jauh mengenai positioning. Kode untuk melakukan positioning ini adalah allMc._x = 100+(30*i); dan allMc._y = 200;. Kode pertama mendefinisikan nilai koordinat x untuk masing-masing movie clip :
 
mc1._x= 100+(30*1) ; mc2._x = 100+(30*2) ; mc3._x = 100+(30*3) ; dst… 
 
Sehingga movie clip hasil duplikat diposisikan secara horizontal ke kanan diawali dari koordinat (130,200). 




Selain menggunakan kode eval (variable) kita juga bisa menggunakan kode setProperty. Kode berikut akan menghasilkan positioning yang sama dengan sebelumnya :
 
for (i=1; i<=10; i++) {
        mc.duplicateMovieClip("mc"+i, i);
        setProperty("mc"+i,_x,100+(30*i));
        setProperty("mc"+i,_y,200);
}

1 komentar:

  1. Bagaiman cara membuat game monopoli edukasi menggunakan macromedia flash?

    BalasHapus