Tekil Mesaj Gösterimi
Eski 06-03-2007, 01:31   #1 (permalink)
HAKAN
PhotoshopUzmanı Kurucusu
 
HAKAN - ait Avatar
 
Üyelik Tarihi: Feb 2007
Bulunduğu Yer: C:\Program Files\Adobe\Adobe Photoshop CS2
Yaş: 23
Mesajlar: 5.323
Teşekkür Et: 170
Thanked 2.071 Times in 924 Posts
Tecrübe Puanı: 10 HAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant futureHAKAN has a brilliant future
HAKAN - MSN üzerinden Mesaj gönder
Flash'ta Satır Sütun Mantığı ve Mod Kullanımı

İlk makalemde size Flash içerisinde objeleri belirli satır sütun sayısına göre nasıl dizebileceğinizi anlatmaya çalışacağım. Bu makaleyi dikkatlice okursanız, for döngüsü kullanarak mevcut bir movieClipi nasıl çoğaltacağınızı ve çoğaltılan movieClip'leri nasıl sıralayacağınızı öğrenebilirsiniz. Yeni bir flash dosyası açın ve içine bir tane kare çizin. Kareyi f8'e basarak movieClibe çevirin. Kare'ye bir defa tıklayın ve Properties alanını açın. Instance name alanına kare_mc yazın.

Daha sonra timleine'da birinci frame bir defa tıklayıp Actions panelini açın.

Şimdi yapmak istediğimiz şeyi belirleyelim. 4erli sıra halinde dizilmiş 17 tane kare yapmak istiyoruz.

action paneline ;
Code:
var kare_sayisi:Number = 17; 
yazalım. 
4erli dizmek istediğimiz için;
Code:
var sutun:Number = 4;
ekliyoruz

ana sahneye yaptığımız kare_mc ilerde işimize yaramayacağı için onu görünmez yapalım.

Code:
kare_mc._visible = false;
daha sonra bir for döngüsü kurup kare_mc'den 17 tane çoğaltacağız.

Code:
for (var i:Number=0; i<kare_sayisi; i++) { 
kare_mc.duplicateMovieClip("kare"+i, i); 
this["kare"+i]._x = i%sutun*(kare_mc._width+5)+10; 
this["kare"+i]._y = Math.floor(i/sutun)*(kare_mc._height+5)+10; 
}
gördüğünüz gibi % işareti yani mod ile işlemi hallettik.

////////
mod nedir diyenler için ise kısa bir örnek vermek istiyorum.

Code:
var sonuc:Number = 5%2; 
trace(sonuc); 
//output 1 olacaktır. 
bunun anlamı şudur. 5i 2ye bölersiniz ve kalanı alırsınız. işte bu işlem size bir sayının diğerine bölümünden kalanı verir. 
///////
yukardaki kodun tamamı şöyle olmalı;

Code:
var kare_sayisi:Number = 17; 
var sutun:Number = 4; 
kare_mc._visible = false; 
for (var i:Number=0; i<kare_sayisi; i++) { 
kare_mc.duplicateMovieClip("kare"+i, i); 
this["kare"+i]._x = i%sutun*(kare_mc._width+5)+10; 
this["kare"+i]._y = Math.floor(i/sutun)*(kare_mc._height+5)+10; 
}
Kaynak:http://www.adobeistanbul.com/makaleler/index.cfm?makale_id=119
__________________

ARAMASIN GÖZLER O ŞİMDİ ASKER!..
HAKAN is offline   Alıntı ile Cevapla
Sponsored Links