- Katılım
- 20 Haz 2009
- Konular
- 3,801
- Mesajlar
- 17,721
- Çözüm
- 15
- Online süresi
- 2mo 12d
- Reaksiyon Skoru
- 2,606
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 11 Ay 23 Gün
- Başarım Puanı
- 444
- MmoLira
- -2,369
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
_root, _parent, this ve Seviyeler
SWF dosyanızdaki farklı bir faaliyet alanında veya Timeline`da bulunan bir değişkeni hedeflemeniz gerekebilir. Bir movie clip ya da bir bileşen içinde yer alan bir kod yazarsanız ve ana Timeline içindeki bir düğme gibi bir öğeye erişmek isterseniz, diğer Timeline`a erişmek için _parent anahtar sözcüğünü kullanmanız gerekir. Bu faaliyet alanlarını, SWF dosyasına ilgili değişkenlere erişmek üzere nereye gitmesinin gerektiğini bildirmek için kullanırsınız. this anahtar sözcüğünü kullandığınızda, geçerli faaliyet alanındaki geçerli nesneye başvuruda bulunursunuz. Örneğin bir movie clip`in içindeyken this anahtar sözcüğünü kullandığınızda, movie clip`e kendisine bakmasını söylemiş olursunuz. _parent anahtar sözcüğü, geçerli nesnenin ebeveyn öğesini gösterir. Mesela Stage`de bir movie clip varsa ve bu movie clip`te _parent anahtar sözcüğü kullanılırsa, movie clip`in üzerinde bulunduğu Timeline`a göndermede bulunmuş olursunuz. SWF dosyalarınızın tamamındaki nesnelere başvuruda bulunmak için, this ve _parent anahtar sözcüklerini birlikte kullanabilirsiniz. Başka bir öğenin içinde bulunan bir movie clip`teyken, diğer movie clip örneklerini ya da bileşen değerlerini kontrol etmek üzere SWF dosyasının hiyerarşisinde gezinmek için, aşağıdakine benzer bir kod satırından faydalanabilirsiniz.
this._parent._parent.otherMovieClip_mc.stop();
this anahtar sözcüğünün kul anımı da anlaşılması zor olabilecek konulardandır. Bağlama göre, this anahtar sözcüğü farklı şeyleri belirtebilir. Bir movie clip örneğinin içinde kul anırsanız, this anahtar sözcüğü bu movie clip`in Timeline na göndermede bulunur. Bir düğme fonksiyonunda kul anırsanız, this anahtar sözcüğü düğmenin kendisini değil de düğme örneğini içeren Timeline`ı belirtir. Doğrudan bir movie clip'e ilştirilmiş bir onClipEvent() işleyicisiyle kullanıldığında ise, this anahtar sözcüğü movie clip`in Timeline nı belirtir.
Sonraki sayfada yer alan kodu inceleyin. Aşağıdaki gibi bir kodu ana Timeline`a yerleştirirseniz, bu kod çok farklı şeyler yapar. Diyelim ki çalışan bir SWF dosyanız var ve Stage`de, yine bir içeriği oynatmakta olan myClip adında bir movie clip`iniz va. ActionScript aracılığıyla onRelease olay işleyicisini ekleyerek, movie clip`lere birer düğme gibi davranabilirsiniz (bunu daha önce oluşturduğunuz movie clip düğmelerine uygulayacaksınız).
myClip_mc.onRelease = function() {
this.stop();
};
Bu ActionScript kodu, eğer oynatılıyorsa myClip_mc örneğinin kendisini durdurur. Fonksiyonun içindeki kod, this anahtar sözcüğünü kul anarak movie clip`in Timeline nı hedefler. Bunun yerine, aşağıdaki ActionScript kodunu kul andığınızda bu kod movie clip`in Timeline yerine ana Timeline`ı durdurur.
myClip_mc.onRelease = function(){
stop();
};
Movie clip bir düğme gibi değerlendirilir ve düğmeler içinde bulundukları Timeline`ı hedeflerler, düğmenin kendi Timeline`ını değil. Bu da tabii ki this anahtar sözcüğünü kullanmamanız durumunda geçerlidir.
Flash kullanırken ve başkalarının yazdığı ActionScript kodlarını incelerken, _root anahtar sözcüğünün sıkça kullanıldığını göreceksiniz. _root kullanıldığında, bu ana Timeline`ın hedeflendiği anlamına gelir. Bu, sabit diskinizin kök dizinine (örneğin C: ) ya da bir Web sitesinin kök klasörüne gitmeye benzer. Buna genelde mutlak başvuru denir. Mutlak başvuru tekniğini Web sitelerinde olduğu gibi (mutlak başvuru kullandığınızda, sitenizi başka bir etki alanına aktarmanız zor olacaktır), Flash`ta kullanmak da genelde en iyi yaklaşım değildir, çünkü ActionScript kodlarınızı başka bir yere taşımanız zor olacaktır. Bu, SWF dosyalarını başka SWF dosyalarına yüklerken de sorun yaratabilir.
_root kullandığınızda ortaya çıkan sorunların sebebi açıktır. Bir FLA dosyasında _root`a başvuruda bulunduğunuzda, belge yayınlandığında SWF dosyasının ana Timeline`ına başvurmuş olursunuz. Fakat bu SWF dosyasını farklı bir SWF dosyasına yüklediğinizde root, diğerini kendisine yüklediğiniz SWF dosyası olur. Bu durumu, lockroot özelliğini kullanarak kontrol edebilirsiniz. lockroot, ilgili movie clip`e ya da SWF dosyasına, root başvurularının o SWF dosyasından ya da movie clip`ten daha ileriye gitmemesi gerektiğini söyler. Bu durumda movie clip`lere ve SWF dosyalarına sanki ana belge Timeline`ıymış gibi davranmalarını söylersiniz. lockroot, “Patron sensin“ diyen bir özelliktir ve çok faydalıdır. Bu özellik true ya da false değeri alır ve aslında bu konu kitabın kapsamı dışındadır.
Oluşturduğunuz uygulamada, Stage``deki movie clip`lerin içinde yuvalanmış olarak kodlar ya da kodun hedeflediği elemanlar bulunur. Eğer bu movie clip`ler boşsa, bunların herhangi birine bir SWF dosyası yükleyebilmeniz gerekir ve bu SWF dosyası ana Timeline`daki nesneleri hedefleyebilirsiniz. Eğer movie clip`e yüklenen Swf dosyasının içinde kodunuz varsa _parent anahtar sözcüğünü kullanarak ana Timeline`ı ya da ana Timeline`daki nesneleri hedefleyebilirsiniz. SWF dosyalarını uygulamaya yüklemenin diğer yolu, seviyeleri kullanmaktır.
Seviyeler (level) Flash Player`a ait öğelerdir ve döşeme tahtaları görünmeyen birer zemin gibidirler. Bir seviyeye yüklenen ilk SWF dosyası yapının geri kalanının temelini oluşturur ve 0 seviyesine yüklenir. Bu dosya, HTML sayfasındaki Flash Player nesnesinin genişliğini ve yüksekliğini, arka plan rengini ve kare hızını belirler. Buradan itibaren diğer SWF dosyalarını diğer seviyelere yükleyebilirsiniz; bu SWF dosyaları, ilk SWF dosyası tarafından belirlenen arka plan rengini ve kare hızını kalıtım yoluyla alır ve bunların sol üst köşeleri ilk SWF dosyasının sol üst köşesiyle hizalanır. SWF dosyaları binalardaki katlar, ya da baklavanın katları gibi üst üste yığılır.
Flash Player`a ilk yüklenecek belgenin seviyesi _level0 ile gösterilir. Seviyeler buradan sonra _ level1`dan başlayarak çok büyük bir sayıya (kitab ın yazarının duyduğuna göre 2 milyonun üstünde bir sayı) kadar üst üste yığılabilir. SWF dosyalarını seviyelere sırayla yüklemeniz gerekmez. İlk SWF dosyasını Flash Player`a, gezinti çubuğunu 150 numaralı seviyeye (_level150) ve tüm içeriği bu ikisinin arasında bir yere yükleyebilirsiniz; dolayısıyla gezinti çubuğu her zaman diğerlerinin üstünde olur. Bunların hepsi çok görecelidir. SWF dosyasını _level0 seviyesine yükleyebilir ve ana Timeline`ın içeriğiyle değiştirebilirsiniz. Bu, orijinal clip`in uygulamanın tamamında ihtiyacınız olan değişkenleri ve özellikleri içermesi durumunda pek iyi bir fikir olmayabilir.
İpucu: Bir SWF dosyasını bir movie clip`e ya da bileşene (Loader gibi) yüklediğinizde, bu dosya yeni bir seviyeye yüklenmiş olmaz, ilgili movie clip ya da bileşen örneğinin kendisine yüklenir. Bu aşamadan sonra içerik movie clip`te saklanır ve Stage`deki diğer movie clip`ler gibi değerlendirilir. Bu da, değişken benzeri verilerin daha kolay yönetilmesini sağlar.
Yüklenen bir SWF dosyasının farklı seviyesindeki bir öğeyi hedeflemeniz gerekiyorsa, aşağıdaki gibi bir kod satırı kullanabilirsiniz.
_level2.myMovieClip_mc.gotoAndPlay(3);
İpucu: Yüklenen bir SWF dosyasını hedefleyen bir kodu çağırmadan önce, içeriğin tamamen yüklenmiş olduğundan emin olun. Aksi takdirde, çağırdığınız kod düzgün bir şekilde çalışmayacaktır.
SWF dosyanızdaki farklı bir faaliyet alanında veya Timeline`da bulunan bir değişkeni hedeflemeniz gerekebilir. Bir movie clip ya da bir bileşen içinde yer alan bir kod yazarsanız ve ana Timeline içindeki bir düğme gibi bir öğeye erişmek isterseniz, diğer Timeline`a erişmek için _parent anahtar sözcüğünü kullanmanız gerekir. Bu faaliyet alanlarını, SWF dosyasına ilgili değişkenlere erişmek üzere nereye gitmesinin gerektiğini bildirmek için kullanırsınız. this anahtar sözcüğünü kullandığınızda, geçerli faaliyet alanındaki geçerli nesneye başvuruda bulunursunuz. Örneğin bir movie clip`in içindeyken this anahtar sözcüğünü kullandığınızda, movie clip`e kendisine bakmasını söylemiş olursunuz. _parent anahtar sözcüğü, geçerli nesnenin ebeveyn öğesini gösterir. Mesela Stage`de bir movie clip varsa ve bu movie clip`te _parent anahtar sözcüğü kullanılırsa, movie clip`in üzerinde bulunduğu Timeline`a göndermede bulunmuş olursunuz. SWF dosyalarınızın tamamındaki nesnelere başvuruda bulunmak için, this ve _parent anahtar sözcüklerini birlikte kullanabilirsiniz. Başka bir öğenin içinde bulunan bir movie clip`teyken, diğer movie clip örneklerini ya da bileşen değerlerini kontrol etmek üzere SWF dosyasının hiyerarşisinde gezinmek için, aşağıdakine benzer bir kod satırından faydalanabilirsiniz.
this._parent._parent.otherMovieClip_mc.stop();
this anahtar sözcüğünün kul anımı da anlaşılması zor olabilecek konulardandır. Bağlama göre, this anahtar sözcüğü farklı şeyleri belirtebilir. Bir movie clip örneğinin içinde kul anırsanız, this anahtar sözcüğü bu movie clip`in Timeline na göndermede bulunur. Bir düğme fonksiyonunda kul anırsanız, this anahtar sözcüğü düğmenin kendisini değil de düğme örneğini içeren Timeline`ı belirtir. Doğrudan bir movie clip'e ilştirilmiş bir onClipEvent() işleyicisiyle kullanıldığında ise, this anahtar sözcüğü movie clip`in Timeline nı belirtir.
Sonraki sayfada yer alan kodu inceleyin. Aşağıdaki gibi bir kodu ana Timeline`a yerleştirirseniz, bu kod çok farklı şeyler yapar. Diyelim ki çalışan bir SWF dosyanız var ve Stage`de, yine bir içeriği oynatmakta olan myClip adında bir movie clip`iniz va. ActionScript aracılığıyla onRelease olay işleyicisini ekleyerek, movie clip`lere birer düğme gibi davranabilirsiniz (bunu daha önce oluşturduğunuz movie clip düğmelerine uygulayacaksınız).
myClip_mc.onRelease = function() {
this.stop();
};
Bu ActionScript kodu, eğer oynatılıyorsa myClip_mc örneğinin kendisini durdurur. Fonksiyonun içindeki kod, this anahtar sözcüğünü kul anarak movie clip`in Timeline nı hedefler. Bunun yerine, aşağıdaki ActionScript kodunu kul andığınızda bu kod movie clip`in Timeline yerine ana Timeline`ı durdurur.
myClip_mc.onRelease = function(){
stop();
};
Movie clip bir düğme gibi değerlendirilir ve düğmeler içinde bulundukları Timeline`ı hedeflerler, düğmenin kendi Timeline`ını değil. Bu da tabii ki this anahtar sözcüğünü kullanmamanız durumunda geçerlidir.
Flash kullanırken ve başkalarının yazdığı ActionScript kodlarını incelerken, _root anahtar sözcüğünün sıkça kullanıldığını göreceksiniz. _root kullanıldığında, bu ana Timeline`ın hedeflendiği anlamına gelir. Bu, sabit diskinizin kök dizinine (örneğin C: ) ya da bir Web sitesinin kök klasörüne gitmeye benzer. Buna genelde mutlak başvuru denir. Mutlak başvuru tekniğini Web sitelerinde olduğu gibi (mutlak başvuru kullandığınızda, sitenizi başka bir etki alanına aktarmanız zor olacaktır), Flash`ta kullanmak da genelde en iyi yaklaşım değildir, çünkü ActionScript kodlarınızı başka bir yere taşımanız zor olacaktır. Bu, SWF dosyalarını başka SWF dosyalarına yüklerken de sorun yaratabilir.
_root kullandığınızda ortaya çıkan sorunların sebebi açıktır. Bir FLA dosyasında _root`a başvuruda bulunduğunuzda, belge yayınlandığında SWF dosyasının ana Timeline`ına başvurmuş olursunuz. Fakat bu SWF dosyasını farklı bir SWF dosyasına yüklediğinizde root, diğerini kendisine yüklediğiniz SWF dosyası olur. Bu durumu, lockroot özelliğini kullanarak kontrol edebilirsiniz. lockroot, ilgili movie clip`e ya da SWF dosyasına, root başvurularının o SWF dosyasından ya da movie clip`ten daha ileriye gitmemesi gerektiğini söyler. Bu durumda movie clip`lere ve SWF dosyalarına sanki ana belge Timeline`ıymış gibi davranmalarını söylersiniz. lockroot, “Patron sensin“ diyen bir özelliktir ve çok faydalıdır. Bu özellik true ya da false değeri alır ve aslında bu konu kitabın kapsamı dışındadır.
Oluşturduğunuz uygulamada, Stage``deki movie clip`lerin içinde yuvalanmış olarak kodlar ya da kodun hedeflediği elemanlar bulunur. Eğer bu movie clip`ler boşsa, bunların herhangi birine bir SWF dosyası yükleyebilmeniz gerekir ve bu SWF dosyası ana Timeline`daki nesneleri hedefleyebilirsiniz. Eğer movie clip`e yüklenen Swf dosyasının içinde kodunuz varsa _parent anahtar sözcüğünü kullanarak ana Timeline`ı ya da ana Timeline`daki nesneleri hedefleyebilirsiniz. SWF dosyalarını uygulamaya yüklemenin diğer yolu, seviyeleri kullanmaktır.
Seviyeler (level) Flash Player`a ait öğelerdir ve döşeme tahtaları görünmeyen birer zemin gibidirler. Bir seviyeye yüklenen ilk SWF dosyası yapının geri kalanının temelini oluşturur ve 0 seviyesine yüklenir. Bu dosya, HTML sayfasındaki Flash Player nesnesinin genişliğini ve yüksekliğini, arka plan rengini ve kare hızını belirler. Buradan itibaren diğer SWF dosyalarını diğer seviyelere yükleyebilirsiniz; bu SWF dosyaları, ilk SWF dosyası tarafından belirlenen arka plan rengini ve kare hızını kalıtım yoluyla alır ve bunların sol üst köşeleri ilk SWF dosyasının sol üst köşesiyle hizalanır. SWF dosyaları binalardaki katlar, ya da baklavanın katları gibi üst üste yığılır.
Flash Player`a ilk yüklenecek belgenin seviyesi _level0 ile gösterilir. Seviyeler buradan sonra _ level1`dan başlayarak çok büyük bir sayıya (kitab ın yazarının duyduğuna göre 2 milyonun üstünde bir sayı) kadar üst üste yığılabilir. SWF dosyalarını seviyelere sırayla yüklemeniz gerekmez. İlk SWF dosyasını Flash Player`a, gezinti çubuğunu 150 numaralı seviyeye (_level150) ve tüm içeriği bu ikisinin arasında bir yere yükleyebilirsiniz; dolayısıyla gezinti çubuğu her zaman diğerlerinin üstünde olur. Bunların hepsi çok görecelidir. SWF dosyasını _level0 seviyesine yükleyebilir ve ana Timeline`ın içeriğiyle değiştirebilirsiniz. Bu, orijinal clip`in uygulamanın tamamında ihtiyacınız olan değişkenleri ve özellikleri içermesi durumunda pek iyi bir fikir olmayabilir.
İpucu: Bir SWF dosyasını bir movie clip`e ya da bileşene (Loader gibi) yüklediğinizde, bu dosya yeni bir seviyeye yüklenmiş olmaz, ilgili movie clip ya da bileşen örneğinin kendisine yüklenir. Bu aşamadan sonra içerik movie clip`te saklanır ve Stage`deki diğer movie clip`ler gibi değerlendirilir. Bu da, değişken benzeri verilerin daha kolay yönetilmesini sağlar.
Yüklenen bir SWF dosyasının farklı seviyesindeki bir öğeyi hedeflemeniz gerekiyorsa, aşağıdaki gibi bir kod satırı kullanabilirsiniz.
_level2.myMovieClip_mc.gotoAndPlay(3);
İpucu: Yüklenen bir SWF dosyasını hedefleyen bir kodu çağırmadan önce, içeriğin tamamen yüklenmiş olduğundan emin olun. Aksi takdirde, çağırdığınız kod düzgün bir şekilde çalışmayacaktır.
- Katılım
- 1 Ara 2009
- Konular
- 23
- Mesajlar
- 146
- Reaksiyon Skoru
- 3
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 6 Ay 9 Gün
- Başarım Puanı
- 69
- MmoLira
- -1
- DevLira
- 0
teşekkürler
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 63
- Cevaplar
- 2
- Görüntüleme
- 33
- Cevaplar
- 2
- Görüntüleme
- 39



