Fonksiyonları istediğimiz zaman istediğimiz yerde uygulanmasını sağlayacağımız kod blokları(bütünleri) olarak tanımlayabiliriz.Bir fonksiyon yazdığınız zaman bunu bir çok yerde tekrar tekrar çağırarak kullanabilirsiniz.Çalışmalarınızda fonksiyonlar kullanmak sık düzenlenip güncellenecek fla dosyaları için kolaylık sağlayacaktır.
Fonksiyonların içlerine Değişkenler,Veriler,Olay Listeleri,Methodlar,Sınıflar ve hatta Yeni Fonksiyonlar bile yazılabilir.Oluşturacağımız fonksiyon için sahneye bir kare çizelim bu kareyi Modify > Convert to Symbol (Kısayol-F8) tıklayarak kareyi MovieClip’e çevireceğiz ama aynı zamanda onu linkage ederek kodlarla kullanmaya hazır hale getireceğiz.Eğer Flash CS4 kullanıyorsanız aşağıdaki resimde nasıl yapacağınız belirtilmiştir.CS3 kullananlar önce MovieClip’e çevirip daha sonra kütüphaneden oluşturdukları kareye sağ tıklayıp daha sonrada linkage’e tıklayarak yapabilirler.Herhangi bir uyarı verirse tamam diyerek uyarıyı geçin ;
Resim-1 : Convert to Symbol Paneli ve Açıklamalar
Karemizi oluşturduktan sonra kod panelimizi açıp fonksiyonumuzu yazalım ;
//kütüphanedeki karemizden bir tane oluşturalım. var benimkarem:kare = new kare(); function kareolustur():void { benimkarem.x = 100; benimkarem.y = 100; addChild(benimkarem); } kareolustur();
en son satırdaki fonksiyonu çağırma kodunu yazdığımızda çizdiğimiz kareyi 100′e 100 kordinatlarında sahneye ekliyecektir.
Fonksiyonumuzu biraz daha geliştirerek boş parantezlerin değer almasını sağlayalım;
var benimkarem:kare = new kare(); function kareolustur(xkordinati,ykordinati):void { benimkarem.x = xkordinati; benimkarem.y = ykordinati; addChild(benimkarem); } kareolustur(100,100);
Yukarıdaki fonksiyonda fonksiyonu çağırırken x ve y kordinatlarını tekrar tekrar belirtebiliriz.Böylelikle bu kareyi istediğimiz yerde hizalamak için bir fonksiyon oluşturmuş olduk.
Önceki fonksiyonlarda yazdığımız “void” kısmı fonksiyonun döndüreceği değerdi.Eğer hiçbir değer döndürmüyorsa void yazarız.Hemen bir örnekle fonksiyonun değer döndürmesini görelim ;
function hesapla(sayi1,sayi2):Number { var toplam:Number = new Number(); toplam = sayi1+sayi2; return toplam; } trace(hesapla(10,20));
Yukarıdaki fonksiyonda da hesapla fonksiyonu sayi1 ve sayi2 adında 2 değer veriyoruz ve bu sayıları toplayıp geri bize OUTPUT panelinde döndürüyor.Aynı normalde yaptığımız gibi fonksiyonların içinede açıklamalar ekliyebiliriz.
Bu ders de burada sona erdi herkese iyi çalışmalar
.
Action scriptin en can alıcı konusunu anlatmışsın. Eline sağlık. Kolay gelsin
Teşekkürler yardımcı olabiliyorsam ne mutlu bana…
hayırlı olsun yeni sistem
merhaba lar biraz eleştri yapacağim sitenizin içeriği bom boş
eğitim vermek insanlara hizmet etmek istiyorsanız çalışmalısınız oğeretmelisiniz…
merhaba metin, site yeni evet henüz boş olabilir. ama ilerde dolacaktır emin ol.
Ama şunu aklından çıkarma buradaki yazarlar bu işi tamamen karşılıksız yapıyor. Bu yüzden “insanlara hizmet etmek istiyorsanız çalışmalısınız öğretmelisiniz” cevaben diyorum ki kimse bunu ücretsiz yaparak zamanını harcamak zorunda değil.
O yüzden siteniz boş öğretmelisiniz çalışmalasınız demek yerine var olan dersleri bulabildiğiniz için teşekkür etmeniz gerekiyor.
Şimdi böyle bir eleştiri karşısında hemen siteyi dolduralım emrin olur demek mi gerekiyor. İnsanlar zamanlarından fedakarlık yaparak bilgilerini paylaşmaya çalışıyorlar. Bence eleştirilerin bir dozu olmalı. Artık şu böyle bu böyleden çok kodlar üzerine tetkikler yapmalıyız. Yoksa ne ala mualla. sen siteni güzel şeylerle doldur, ben arasıra gelip begenirim demek lafü güzaf. alio arkadaşımızın yaptığı işi eksik de olsa, fazla da olsa iyiliğe teşebbüs olduğu için tekrardan canı gönülden tebrik ediyorum.
anlamadığım tek nokta Return kodunun ne işe yaradığı fonksiyon dışına değeri mi atıyor?
Merhaba Saim;
Son örnek üzerinden açıklama yapıyorum.return degisken; Fonksiyonun degiskenin değerini almasını sağlar yani örnekte görüldüğü gibi sayi1+sayi2 yi toplam ismindeki bir değişkene atıyoruz toplam ismindeki değişkeni ise fonksiyona return ile atıyoruz yani bu durumda fonksiyonun değeri toplam ile aynı oluyor…Eğer anlamadıysan farklı bir örnekle açıklayabilirim…
İyi Çalışmalar…
Saol Selçuk
anladım yeni örneklerinizi bekliyorum
iyi çalışmalar..
Gerçekten çok güzel yapılmış bir site flasharisivi.com da da yine güncel örnekler var bence yeni bile olsa olan örnekler süper.Sitelerinin diğer devamını dilerim.