Geniş Ekran Modu Otomatik Ekran Boyutu Font Boyutunu Azalt Font Boyutunu Azalt Font Boyutunu Normal Yap Yazdır

Flashta Fonksiyon Çeşitleri Ve Kullanımı

Javascript gibi bir dil bilenler için anlaması kolay olan konudur. Dil bilmeyenler içinse fazla bir sorun yoktur. Komut iskeletini ve kullanım şeklini bildikten sonra uygulanması oldukça kolay olacaktır

Flashta Fonksiyon Çeşitleri ve KullanımıFonksiyonların 2 türü vardır.
1- Flash içindeki hazır fonksiyonlar. Bunlar konumuzun dışındadır. getTimer, isFinite vs. gibi hazır fonksiyonlara actionscript panelinde functions bölümünden ulaşabilirsiniz.
2- Kullanıcı tarafından yazılan fonksiyonlar. Temel yapı aşağıdaki gibidir.
functions fonksiyon_adı(parametre){
..............
}
Detaylara geçmeden önce önemli bir konuyu belirtelim. Kullanıcı tarafından yazılan fonksiyonlar sadece bir frame üzerine yazılır. Hazır fonksiyonlardaki gibi bir klip veya butona atanamazlar. Frame üzerinde yazılmış fonksiyonu bir buton veya klipten çağırabilirsiniz. Bu fonksiyonların 4 yazılım şekli vardır.
Altyordam olarak çalışan fonksiyonlar
Bilindiği gibi tüm fonksiyonlar genelde bir değer üretmek için kullanılırlar. Altyordam türü fonksiyonlarda bir değer üretimi sözkonusu değildir. Burada amaç bir kod deposu hazırlamak daha sonra bu kodları gerekli olan yerlerden çağırmaktır.
Altyordam fonksiyonlarını bir fla dosyasında birden fazla yerde aynı komutu kullanmak gerektiğinde çok faydalıdır. Tek bir kelime ile yüzlerce depo kod yığınını çağırma imkanı sunarlar. Özetle bizi yüzlerce aynı tür kodu birden fazla yerde yazma zahmetinden kurtarırlar.
Bunu bir örnekle görelim. Alttaki dosyada örnek adı anaklip olan ve ayrıca içinde 7 tane butonu içeren 7 ayrı klip daha (örnek adları klip_1, klip_2, klip_3.............klip_7) mevcuttur. Anaklip içinde 7 kare vardır. Burada istenilen uygulama şudur:
1 numaralı butona basıldığında bu butonu içeren klip 50 piksel sağa ilerleyecek, diğer 6 buton ilk haline dönecek ve ayrıca anaklip 1 nolu kareye ilerleyecek.
2 nolu butona basınca yine aynı işlemler olacak fakat anaklip 2 nolu kareye atlayacak. Bu işlem 7 buton için de uygulanacak.



[Sadece pasaj sakinleri linkleri görebileceklerdir. lütfen kısa bir vaktinizi ayırın ve pasajımıza üye olun.. ]



Dosya üzerinde deneme de yaptığınıza göre konu iyice şekillenmiş olmalıdır. Bu durumda 7 butona da şu komutu vermeliyiz.
on (release) {
anaklip.gotoAndStop(1);
for (i=1; i<8; i++) {
_root["klip_"+i]._x = 0;
}
_root["klip_"+anaklip._currentFrame]._x = 50;
}

Komut dizileri aşağıda açıklanacaktır. Önce konunun ana hatlarını anlayalım. Gördüğünüz gibi sadece kırmızı ile yazılmış alandaki frame numarasını değiştirmek ve diğer butonlara atamak sorunumuzu çözüyor.Kırmızı dizinin alt kısmı hep aynı kodları içermekte. Bu durumda bu alanı bir fonksiyon içine alıp butonlara sadece şu komutu atamak son derece pratik olacaktır:
on (release) {
anaklip.gotoAndStop(1);
kutulari_tasi();
}
Değiştirilmesi gereken tek yer kare numarası olacaktır. Şimdi ana timeline`da 1.kareyi seçip fonksiyonumuzu oluşturalım:
function kutulari_tasi() {
for (i=1; i<8; i++) {
_root["klip_"+i]._x = 0;
}
_root["klip_"+anaklip._currentFrame]._x = 50;
}
Önce fonksiyonlardaki kodları açıklayalım.
İlk dizinde kutulari_taşi adında bir fonksiyon kuruyoruz. prantez içinde bir parametre taşımıyor. 7 buton içeren film klibimiz olduğuna göre (klip_1,kli_2,..., klip_7) i değişkenini 1 değerinden başlatarak 7 değerine kadar rakam üreten bir döngü oluşturuyoruz.
Bir alt dizinde kutuları ilk hali olan x düzeyinde 0 numaraya çekiyoruz. _root["klip_"+i] Burada i değişkeni 1,2,3,4...7 şeklinde rakam üretmektedir. bunu "klip_" stringi ile birleştirdiğimizde klip_1, klip_2....klip_7 şeklinde 7 adet klibimizin örnek adı oluşturulmaktadır._root ile köşeli parantezler aracılığı ile birleştirildiğinde her döngü kurulduğunda ortaya çıkan _root.klip_1._x=0 dizini oluşmaktadır. Böylece tüm klipler x=0 düzlemine çekilmektedirler.
Bir alttaki dizinde tıklanan butonun 50 piksel açılması sağlanmaktadır. Butonlara şu komut atanacaktı
on (release) {
anaklip.gotoAndStop(1);
kutulari_tasi();
}
Gördüğünüz gibi butonlara tıklanınca 1 nolu buton anaklipte 1.kareye, 2 nolu buton 2. kareye .......7 nolu buton 7.kareye atlamakta sonra fonksiyon komutu icra edilmektedir. Bu durumda anaklipteki o anda bulunduğumuz kare numarası aynı zamanda ilerleyecek klip numarası ile aynı olacaktır.
_root["klip_"+anaklip._currentFrame]._x = 50;
Yukardaki komut ile klip1 stringine o anda anaklipte olduğumuz kare numarası eklenerek 50 piksel ilerleyecek klip adı ortaya çıkartılmaktadır. Örneğin bu 2 nolu buton için; _root["klip_"+2]._x = 50; yani _root.klip_2._x=50 olur. Ve 2 nolu klip 50 piksel sağa ilerler. Her butona basıldığında anaklipte gidilen kare numarası değiştiğinden ilerleyecek klipde değişecektir.
Artık butona atanan tek bir komutla filmimizi çalıştırmamız mümkün olacaktır.
on (release) {
anaklip.gotoAndStop(1);
kutulari_tasi();
}
Bir sonraki fonksiyonda ise aynı işlemi sadece:
on (release) {
kutulari_tasi();
}
komutuyla yapma imkanımız olacaktır.
Parametre alan fonksiyonlar
Fonksiyonlarda parametre kullanılması, bu parametreye farklı değerler vererek birden fazla yerde kullanmak amacını güder. Yukardaki örnekle devam edelim. kutulari_taşi fonksiyonuna hedef_kare parametresini ekleyelim. Bu durumda 1.karede oluşturulan fonksiyonun görünümü şöyle olacaktır:
function kutulari_tasi(hedef_kare) {
anaklip.gotoAndStop(hedef_kare);
for (i=1; i<8; i++) {
_root["klip_"+i]._x = 0;
}
_root["klip_"+anaklip._currentFrame]._x = 50;
}
Butonların herbirine şu komutu verelim:
on (release) {
kutulari_tasi(1);
}
Buradaki 1 rakamı hedef_kareye 1 değerini atar. Bu buton 2 için 2....., buton 7 için 7 olacaktır.
Bir üst kısımlaki fla dosyasını indirerek buton ve 1.kareye yukardaki komutları eklediğinizde sorunsuz çalışacağını göreceksiniz. Yine de hazır bir dosya istiyorsanız alttaki linkten indirebilirsiniz.
[Sadece pasaj sakinleri linkleri görebileceklerdir. lütfen kısa bir vaktinizi ayırın ve pasajımıza üye olun.. ]
Değer döndüren fonksiyonlar
Komutun yapısı şöyledir:
function fonksiyon_adi(parametre){
return.......;
}
Burada return dönen değerdir. Alttaki örneği inceleyelim. Burada bir site içinde geçirilen zamanın hesabı yapılmıştır. Bildiğiniz gibi bir swf dosyası açıldığında hemen görünmez bir kronometre çalışmaya başlar. Bu değere ulaşmak için getTimer() fonksiyonu kullanılır. Şayet bir swf dosyasında 1.kareye baslama_suresi=getTimer(); yazıp başka bir kareye trace(getTimer()-baslama zamanı) yazıp filmi oynattığınızda başlangıçtan itibaren geçen süre çıktı penceresinde gözlenecektir.




Metod olarak kullanılan fonksiyonlar
_root.klip.gotoAndPlay(2); komutunda klip 2 numaralı kareye atlayarak oynamaya devam eder. Bu bir metoddur. Aynı işlemi bazı durumlarda fonksiyonlarla da oluşturmak mümkündür. Şimdi alttaki örneği inceleyin. Her 3 butona peşpeşe basmaya devam edin. 1 nolu butona her basıldığında mavi klip klip 10 piksel büyüyecektir. 2 nolu butona her basışta yeşil klibin saydamlığı %20 artacaktır.3 nolu butonda ise heriki işlemde oluşacaktır.



[Sadece pasaj sakinleri linkleri görebileceklerdir. lütfen kısa bir vaktinizi ayırın ve pasajımıza üye olun.. ]



Burada örnek adı mavi,yesil ve kirmizi olan 3 klip örneği ve 3 adet buton mevcut.
Mavi film klibinin ilk karesine:
function buyult() {
_xscale += 10;
_yscale += 10;
}
Yesil film klibinin ilk karesine:
function saydamlastir() {
_alpha -= 20;
}

Kirmizi klibinin ilk karesine:
function buyult() {
_xscale += 10;
_yscale += 10;
}
function saydamlastir() {
_alpha -= 20;
}

komutlarını atıyoruz. Daha sonra aynı gotoAndPlay() dizinindeki gibi bir metod yazılımı ile bu fonksiyonları butonlara veriyoruz.

1 nolu buton:
on (press) {
_root.mavi.buyult();
}
2 nolu buton:
on (press) {
_root.yesil.saydamlastir();
}

3 nolu buton:
on (press) {
_root.kirmizi.buyult();
_root.kirmizi.saydamlastir();
}

Burada _root eklentisini fonksiyonlar film klipleri içinde olduğundan mutlaka kullanmak gereklidir.
Kaynak www.bilgipasaji.com/forum/flash-233/8459-flashta-fonksiyon-cesitleri-ve-kullanimi.html
Bu içerikle ilgili henüz herhangi bir yorum yapılmamıştır. Bu içerikle ilgili Yorumunuzu eklemek için burayı tıklayınız.

Flash Actionscript

Sayfandan veya Tarayıcıdan Flash'a Parametre Aktar...
İngilizce bir makaledir. Herhangi bir html sayfasından veya Url üzerinden Flash'a veri aktarmak için...
Mouse Olayları ve Url Çağırmak
Action Script 3.0 kullanarak bir movie üzerine tıklandığında ilgili web sayfasının açılmasını sağlay...
Action Script 3.0 ve Cookie İşlemleri
İngilizce bir makale ve örnek
Cookie Örnek Uygulaması
Movie Clip'e ait sesi açıp kapatan ve bu durumu cookie ile tarayıcıya yazıp daha sonra siteye gelind...
Ses Kontrolü
Ses kontrolüne örnek bir çalışma
Action Script Kodları
Flashta kullanılan bazı action script kodları ve açıklamaları

    Ödev Gönder | İncelenmeyi Bekleyen Ödevler | Uygulama Resimleri | Uygulama Resmi Gönder | İnternet Üzerinden Sınav | Test Sorusu Gönder | Sınıf Karneleri | Anketler | Linkler
    www.dijitalders.com

    bilgidijitalders.com
    Bu sayfalar en iyi 1024 x 768 ekran çözünürlüğünde görüntülenir.
    Site içerikleri, site kullanıcıları tarafından yollanan içeriklerdir. Her hangi bir içeriğin lisanslı yahut şahsınıza ait olduğunu tarafımıza iletirseniz gerekli düzenlemeyi yapacağız. Kullanılan içerikler, siteyi kullanan öğrenciler ve araştırmacılar için kolaylık sağlamak amacıyla oluşturulmuştur.
    Sayfada HATA! Olduğunu Düşünüyorsanız | Sık Kullanılanlara Ekle | www.dijitalders.com'u Ana Sayfam Yap | Web Tasarımcıya e-Posta
    Bu site 897,421 kişi tarafından ziyaret edilmiştir.