Birbirinden Bağımsız Swf Dosyalarının Haberleşmesi
Alttaki 3 swf dosyası birbirinden tamamen bağımsızdır.
Çalışmada kolaylık olması için aynı sayfaya alındı. Siz tüm swf
dosyasını ayrı ayrı bir HTML sayafasına alıp
kullanabilirsiniz.Ayrı HTML sayfasına gömülmüş swf dosyalarında
bağlantı kurulabilmesi için herüç sayfanın da açık
olması gereklidir. Önce bir sayfayı açıp mesajı göndermek sonra
diğer sayfayı açıp mesajı alma şansımız yoktur.
Örnek macromedia`nın sayfasından alınmış ve modifiye
edilmiştir. Bu örneği bana hatırlatan fuad_all
arkadaşıma teşekkür ederim. Aşağıdaki çalışmada 1.swf dosyasına
yazdığımız verileri butona tıklayarak 2.swf dosyasına aktarıyoruz.
Bu aktarma gerçekleştiğinde 2. dosyadan 3. ye yine bir mesaj gönderiliyor
ve bağlantının kurulduğu uyarısı çıkıyor.
Gönderilecek mesajda Türkçe karakter ve birden
fazla satır kullanabilisiniz. 2. dosyada tüm mesajın gözükmesi
için scroll kullanılmıştır.
on (release) {
gelen_mesaj.scroll = gelen_mesaj.scroll + 1;
}
ve
on (release) {
gelen_mesaj.scroll = gelen_mesaj.scroll -1;
}
Kodların 2. bölümü sadece 3. swf dosyası
içindir.Bu kodlar silindiğinde yine ilk 2 swf
dosyası aralarında haberleşebilir. 3. swf dosyasına mesaj göndermek
için önce 2. dosyanın mesajı alıp almadığı değerlendiriliyor.
Bu denetimin devamlı yapılabilmesi için olay enterFrame
şeklinde sunuluyor. Şayet 2. swf dosyasındaki metin kutusuna herhangibir
mesaj eklenmişse buradaki stringin değeri sıfırınüstünde olacağından yine ilk swf dosyasında gördüğümüz
yöntemlerle 3. swf dosyasına mesaj gidecektir.
Yalnız buradaki mesajı biz belirleyerekmetin2 değişkenine atıyoruz. İlk swf dosyasında
ise farklı olarak metin kutusundaki değerler gönderilmişti.
1- Yine sahneye dinamik bir
metin kutusu yerleştirin. İnstance name son_gelen olsun.
Yanıp sönme efekti için sahneye ilk karesinde stop(),
son karesinde gotoAndPlay(2); yazan basit bir
animasyon ekleyelim. Şayet bağlantı kurulmuşsa bu klip yanıp sönme
efekti sağlayacaktır. Klibin instance name kısmına klip
yazalım
2- 1.kareye şu komutları atayın:
baglanti_al2 = new LocalConnection();
baglanti_al2.yazdir2 = function (metin2) {
son_mesaj.text = metin2;
}
baglanti_al2.connect("baglanti_adi2");
Komutların 2. kısmı film klibinin başlatmak için
kullanılıyor. Yine yukarda anlatıldığı gibi mesaj kutusu boş değilse
film klibi 2. kareye geçip efekti başlatacaktır.
Artık tüm dosyalar haberleşebilir. Bu yöntemi
farklı çalışmalarda veri gönderme amaçlı kullanabilirsiniz.