// KODLAR //

// Bu yazılım Burak AYDIN / AS3CODER.COM taradından yapılmıştır

 

// Zamanlayıcı değişkeni oluşturuluyor, Timer sınıfının Timer
// fonksiyonuna 200 milisaniye ve sonsuz/0″ değerlerini yolluyoruz (200,0)

var karOlusturucu_tmr:Timer=new Timer(200,0);
// Zamanlayıcı değişkenine karOlustur_tmr_fnk adlı bir dinleyici
// ekliyoruz. Böylece bu fonksiyon 200 milisaniyede bir çalışacak

karOlusturucu_tmr.addEventListener(TimerEvent.TIMER, karOlustur_tmr_fnk);
// Zamanlayıcı sınıfının start/başlat fonksiyonunu çalıştırıyoruz
karOlusturucu_tmr.
start();
// Kar alanı, yani kar’ın yağması gereken kısmı belirleyen
// film klibini gizliyoruz

kar_alani_mc.
visible=false;

// Yön, hız ve kar taneleri boyutları için birer değişken
// oluşturuyoruz. Bu değişkenler timer içerisinde her tanecikte
// farklı değerler için kullanılacaklar

var yon:Number;
var hiz:Number;
var size:Number;

// Zamanlayıcımıza eklediğimiz dinleyiciyi çalıştırıyoruz
function karOlustur_tmr_fnk(e:TimerEvent) {

// Yeni bir kar tanesi oluşturuyoruz. Kar tanesini
// kütüphanede karBlur / Properties / Linkage kısmına girdiğimiz
// değerler sayesinde sahneye çağırıyoruz

var kar_mc:kar = new kar();

// Kar tanesinin ilk x değeri, bu sayı üretici kar alanı
// film klibinin x ve  x + width değerleri arasında rastgele değer
// oluşturacak
// İkinciden başlamak üzere, birinciyle ikincinin toplamı arasında üretir
// Birinci değer: kar_alani_mc.width, İkinci değer:

// kar_alani_mc.x, Üretim: kar_alani_mc.x ile,
// (kar_alani_mc.x + kar_alani_mc.width) arasında bir sayı

kar_mc.
x=Math.random()*kar_alani_mc.width+kar_alani_mc.x;
// Kar tanesinin ye konumu kar alanının y konumu ile aynı olsun
kar_mc.
y=kar_alani_mc.y;

// Hız, yön ve boyut değişkenlerini bu kar tanesi için değiştiriyoruz.
// Yine rastgele sayı üretme fonksiyonu aynı mantık üzerine kullanıldı
// Hız, 1.5 ile 2.5 arasında bir değer

hiz=
Math.random()* 1 + 1.5;
// Yön, 0.5 ile -0.5 arasında bir değer
yon=
Math.random()*-1+.5;
// Boyut, 0.05 ile 0.35 arasında bir değer
size=
Math.random()*.3+.05;

// kar_mc,hiz,ve yon olmak üzere 3 tane değişken kabul eden,
// kar tanesinin hareketini başlatan fonksiyonumuzu çalıştırıyoruz
// Bu fonksiyona beklediği değişkenleri göndermek durumundayız, parantez içinde yaptığımızda bu.

yagis_fnk(kar_mc,hiz,yon,size);

}

// 200 milisaniyede bir çalışan timer fonksiyonu, 200 milisaniyede
// bir bu fonksiyonu çalıştırıyor. Buraya kar tenesi için
// film klibi, hız, yön ve boyut için değişkenler postalıyor.

function yagis_fnk(gelen_kar_mc:MovieClip,hiz_data:Number, yon_data:Number,size_data:Number) {

// yagis_fnk her kar tanesi için bir kere çalışır. O halde gelen kar tanesini boyutlandıralım.
gelen_kar_mc.
scaleY=size_data;
gelen_kar_mc.
scaleX=size_data;

// Sahnenin frame ilerlemesi olayına dus_enter_fnk adında bir
// dinleyici ekliyoruz. Böylece flash frameler arasında her
// ilerlediğinde bu fonksiyonu çalıştıracak.

stage.addEventListener(Event.ENTER_FRAME,dus_enter_fnk);

// Düş Enter Fonksiyonu’nu  tanımlıyoruz.
function dus_enter_fnk(e:
Event) {

// Gelen kar, yagis_fnk adlı fonksiyona
// gönderilen bir değişkendi. Bu film klibinin y özelliğini her
// frameye girildiğinde hiz_data kadar artırıyoruz.

gelen_kar_mc.
y+=hiz_data;
// Bu film klibinin x özelliğini her frameye girildiğinde yon_data kadar artırıyoruz.
gelen_kar_mc.
x+=yon_data;

// Kar tanesini sahneye ekliyoruz
addChild(gelen_kar_mc);

// Kar tanesi ve üzerindeki
// fonksiyonları, kar tanesi kar alanının dışına çıkınca sil.
// Performans kazanmak için mutlaka yapılması gerekiyor.
if (gelen_kar_mc.y>kar_alani_mc.y+kar_alani_mc.height+gelen_kar_mc.height) {
stage.removeEventListener(Event.ENTER_FRAME,dus_enter_fnk);
removeChild(gelen_kar_mc);

     }

  }

}