|
Kaplama SWF dosyası oluşturmanın en iyi yolu, Flash uygulamasıyla birlikte gelen kaplama dosyalarından birini kopyalayıp başlangıç noktası olarak kullanmaktır. Configuration/FLVPlayback Skins/FLA/ActionScript 3.0/ yolundaki Flash uygulama klasöründe bu kaplamaların FLA dosyalarını bulabilirsiniz. Biten kaplama SWF dosyanızı Kaplama Seç iletişim kutusunda bir seçenek olarak kullanılabilir duruma getirmek için, kaplama dosyasını Configuration/FLVPlayback Skins/ActionScript 3.0 klasöründeki Flash uygulama klasörüne veya kullanıcının yerel Configuration/FLVPlayback Skins/ActionScript 3.0 klasörüne koyun.
Bir kaplamanın rengini kaplama seçiminden bağımsız olarak ayarlayabildiğinizden, rengi değiştirmek için FLA dosyasını düzenlemeniz gerekmez. Belirli renge sahip bir kaplama oluşturursanız ve bu kaplamanın Kaplama Seç iletişim kutusunda düzenlenebilir olmasını istemiyorsanız, kaplama FLA dosyasının ActionScript kodunda
this.border_mc.colorMe = false;
ayarını yapın. Kaplamanın rengini ayarlama hakkında bilgi almak için bkz.
Önceden tasarlanmış bir kaplama seçme
.
Yüklenen kaplama FLA dosyalarına bakıldığında Sahne Alanı'ndaki belirli öğeler gereksizmiş gibi görünebilir ancak bunların çoğu kılavuz katmanlarına koyulur. 9 ölçeğini kullanan canlı önizleme sayesinde, SWF dosyasında gerçekten ne görüntüleneceğini hızlı şekilde görebilirsiniz.
Şu bölümler, SeekBar, BufferingBar ve VolumeBar film kliplerinin daha karmaşık özelleştirmelerini ve değişikliklerini ele alır.
Kaplama mizanpajını kullanma
Bir Flash kaplama FLA dosyasını açtığınızda, kaplamanın film kliplerinin ana Zaman Çizelgesi'nde düzenlendiğini görürsünüz. Aynı karede bulunan bu klipler ve ActionScript kodu, denetimlerin çalışma zamanında nasıl düzenleneceğini tanımlar.
Mizanpaj katmanı, kaplamanın çalışma zamanında göründüğü haline çok yakından benzese de, bu katmanın içerikleri çalışma zamanında görünür değildir. Bu içerikler yalnızca denetimlerin yerleştirileceği yeri hesaplamak için kullanılır. Sahne Alanı'ndaki diğer denetimler çalışma zamanında kullanılır.
Mizanpaj katmanının içinde, video_mc adındaki FLVPlayback bileşeninin yer tutucusu bulunur. Diğer tüm denetimler video_mc öğesine göre düzenlenir. Flash FLA dosyalarından biriyle işe başlar ve denetimlerin boyutunu değiştirirseniz, bu yer tutucu klipleri taşıyarak mizanpajı sabitleyebilirsiniz.
Yer tutucu kliplerinin her biri belirli bir örnek adına sahiptir. Yer tutucu kliplerinin adları şunlardır: playpause_mc, play_mc, pause_mc, stop_mc, captionToggle_mc, fullScreenToggle_mc, back_mc, bufferingBar_mc, bufferingBarFill_mc, seekBar_mc, seekBarHandle_mc, seekBarProgress_mc, volumeMute_mc, volumeBar_mc ve volumeBarHandle_mc. Bir kaplama rengi seçtiğinizde yeniden renklendirilen parça border_mc olarak adlandırılır.
Denetim için hangi klibin kullanıldığı önemli değildir. Genelde düğmeler için normal durum klibi kullanılır. Diğer denetimler için bu denetimin klibi kullanılır ancak bu yalnızca kolaylık sağlamak içindir. Tüm önemli olan,
x
(yatay) ve
y
(dikey) konumu ve yer tutucusunun yüksekliği ve genişliğidir.
Standart denetimlerin yanı sıra istediğiniz kadar ek klibiniz de olabilir. Bu kliplere yönelik tek gereksinim, Bağlantı iletişim kutusunda kütüphane sembollerinin ActionScript için Dışa Aktar seçeneğinin işaretlenmiş olmasıdır. Mizanpaj katmanındaki özel klipler, yukarıda listelenen ayrılmış örnek adları dışında herhangi bir örnek adına sahip olabilir. Örnek adı yalnızca mizanpajı belirlemek için kliplerde ActionScript ayarlamak için gerekir.
border_mc klibi özeldir.
FlvPlayback.skinAutoHide
özelliğini
true
değerine ayarlarsanız, fare border_mc klibinin üzerindeyken kaplama gösterilir. Video oynatıcı sınırları dışında görüntülenen kaplamalar için bu önemlidir.
skinAutoHide
özelliği hakkında bilgi almak için bkz.
Kaplama davranışını değiştirme
.
Flash FLA dosyalarında krom için ve İleri ve Geri düğmelerinin etrafındaki kenarlık için border_mc kullanılır.
border_mc ayrıca
skinBackgroundAlpha
ve
skinBackgroundColor
özellikleri tarafından alfası ve rengi değiştirilen kaplama bölümüdür. Özelleştirilebilir renk ve alfaya olanak sağlamak için, kaplama FLA dosyasındaki ActionScript şunları içermelidir:
border_mc.colorMe = true;
ActionScript ve kaplama mizanpajı
Şu ActionScript kodu genellikle tüm denetimler için geçerlidir. Bazı denetimler, ek davranış belirten belirli bir ActionScript içerir ve bu söz konusu denetimle ilgili bölümde açıklanmıştır.
Başlangıç ActionScript'i her bileşenin durumlarının birer birer sınıf adlarını belirten büyük bir bölümdür. Bu sınıf adlarının tümünü SkinOverAll.fla dosyasında görebilirsiniz. Duraklat ve Oynat/Çal düğmeleri için kod şöyle görünür, örneğin:
this.pauseButtonDisabledState = "fl.video.skin.PauseButtonDisabled";
this.pauseButtonDownState = "fl.video.skin.PauseButtonDown";
this.pauseButtonNormalState = "fl.video.skin.PauseButtonNormal";
this.pauseButtonOverState = "fl.video.skin.PauseButtonOver";
this.playButtonDisabledState = "fl.video.skin.PlayButtonDisabled";
this.playButtonDownState = "fl.video.skin.PlayButtonDown";
this.playButtonNormalState = "fl.video.skin.PlayButtonNormal";
this.playButtonOverState = "fl.video.skin.PlayButtonOver";
Sınıf adlarının gerçek harici sınıf dosyaları yoktur; kütüphanedeki tüm film klipleri için Bağlantı iletişim kutusunda belirtilirler.
ActionScript 2.0 bileşeninde, Sahne Alanı'nda gerçekten çalışma zamanında kullanılan film klipleri vardı. ActionScript 3.0 bileşeninde bu film klipleri yine FLA dosyasındadır ancak burada amaç yalnızca düzenleme işlemini kolaylaştırmaktır. Şimdi bunların tümü kılavuz katmanlarında olup dışa aktarılamaz. Kütüphanedeki tüm kaplama varlıkları, birinci karede dışa aktarılacak şekilde ayarlanır ve örneğin bunun gibi bir kodla dinamik olarak oluşturulur:
new fl.video.skin.PauseButtonDisabled();
Bu bölümden sonra, kaplamanın minimum genişliğini ve yüksekliğini tanımlayan ActionScript kodu yer alır. Kaplama Seç iletişim kutusu bu değerleri gösterir ve bunlar kaplamanın minimum boyutun altında bir değere ölçeklenmesini önlemek için çalışma zamanında kullanılır. Minimum bir boyut belirtmek istemezseniz, bunu tanımsız olarak veya sıfır değerine ya da sıfırdan düşük bir değere ayarlı şekilde bırakın.
// minimum width and height of video recommended to use this skin,
// leave as undefined or <= 0 if there is no minimum
this.minWidth = 270;
this.minHeight = 60;
Her yer tutucu, kendisine uygulanmış şu özelliklere sahiptir:
|
Özellik
|
Açıklama
|
|
anchorLeft
|
Boolean. Denetimi, FLVPlayback örneğinin sol tarafına göre konumlandırır.
anchorRight
açıkça
true
değerine ayarlanmazsa varsayılan olarak
true
değerini alır ve sonra varsayılan olarak
false
değerine geçer.
|
|
anchorRight
|
Boolean. Denetimi, FLVPlayback örneğinin sağ tarafına göre konumlandırır. Varsayılan olarak
false
değerini alır.
|
|
anchorBottom
|
Boolean. Denetimi, FLVPlayback örneğinin alt tarafına göre konumlandırır.
anchorTop
öğesi açıkça
true
değerine ayarlanmadığı sürece varsayılan olarak
true
değerini alır ve sonra varsayılan olarak
false
değerine geçer
|
|
anchorTop
|
Boolean. Denetimi, FLVPlayback örneğinin üst tarafına göre konumlandırır. Varsayılan olarak
false
değerini alır.
|
Hem
anchorLeft
hem de
anchorRight
özellikleri
true
değerinde olursa, çalışma zamanında denetim yatay olarak ölçeklenir. Hem
anchorTop
hem de
anchorBottom
özellikleri
true
değerinde olursa, çalışma zamanında denetim dikey olarak ölçeklenir.
Bu özelliklerin etkisini görmek için, bunların Flash kaplamalarında nasıl kullanıldığına bakın. Ölçeklenenler yalnızca BufferingBar ve SeekBar denetimleridir, bunlar birbirinin üzerine yerleştirilir ve her ikisinin de
anchorLeft
ve
anchorRight
özellikleri
true
değerine ayarlanmıştır. BufferingBar ve SeekBar öğelerinin solundaki tüm denetimlerin
anchorLeft
öğesi
true
değerine ve sağlarındaki tüm denetimlerin
anchorRight
öğesi de
true
değerine ayarlanmıştır. Tüm denetimlerin
anchorBottom
öğesi
true
değerine ayarlanmıştır.
Denetimlerin altta değil de üstte bulunduğu bir kaplama oluşturmak için Mizanpaj katmanında film kliplerini düzenlemeyi deneyebilirsiniz. Tek yapmanız gereken,
video_mc
öğesine göre denetimleri üste taşımak ve tüm denetimler için
anchorTop
öğesini
true
değerine eşit olacak şekilde ayarlamaktır.
Arabelleğe alma çubuğu
Arabelleğe alma çubuğu iki film klibine sahiptir: bufferingBar_mc ve bufferingBarFill_mc. Göreceli konumlandırma korunduğundan, her klibin Sahne Alanı'nda diğer klibe göre konumu önemlidir. Bileşen bufferingBarFill_mc öğesini değil, bufferingBar_mc öğesini ölçeklediğinden, arabelleğe alma çubuğu iki ayrı klip kullanır.
bufferingBar_mc klibine 9 dilimli ölçekleme uygulanmıştır, bu nedenle ölçeklendiğinde kenarlıklar deforme edilmez. bufferingBarFill_mc klibi çok geniştir, bu nedenle ölçeklemeye gerek kalmayacak şekilde yeterince geniş olur. Yalnızca uzatılan bufferingBar_mc öğesinin yukarısındaki kısmı göstermek için çalışma zamanında otomatik olarak maskelenir. Varsayılan olarak, maskenin gerçek boyutları bufferingBar_mc ve bufferingBarFill_mc öğelerinin
x
(yatay) konumları arasındaki fark esas alınarak bufferingBar_mc içinde sol ve sağda eşit kenar boşluğunu korur. ActionScript koduyla konumlandırmayı özelleştirebilirsiniz.
Arabelleğe alma çubuğunun ölçeklenmesi gerekmiyorsa veya 9 dilimli ölçekleme kullanmıyorsa, bunu FLV Oynatma Özel Kullanıcı Arabirimi BufferingBar bileşeni olarak ayarlayabilirsiniz. Daha fazla bilgi için bkz.
BufferingBar bileşeni
.
Arabelleğe alma çubuğu şu ek özelliğe sahiptir:
|
Özellik
|
Açıklama
|
|
fill_mc:MovieClip
|
Arabelleğe alma çubuğu dolgusunun örnek adını belirtir. Varsayılan olarak bufferingBarFill_mc ayarındadır.
|
Arama çubuğu ve ses düzeyi çubuğu
Arama çubuğu ayrıca şu iki film klibine sahiptir: seekBar_mc ve seekBarProgess_mc. Bu göreceli konumlandırma korunduğundan, her klibin Mizanpaj katmanında diğer klibe göre konumu önemlidir. Her iki klip ölçeklense de, seekBar_mc öğesi, yuvalanmış film klipleriyle düzgün çalışmayan 9 dilimli ölçeklemeyi kullandığından, seekBar_mc içinde seekBarProgress_mc öğesi yuvalanamaz.
seekBar_mc klibine 9 dilimli ölçekleme uygulanmıştır, bu nedenle ölçeklendiğinde kenarlıklar deforme edilmez. seekBarProgress_mc klibi de ölçeklenir ancak deforme edilmez. Bir dolgu olduğu için deforme edildiğinde düzgün göründüğünden, 9 dilimli ölçekleme kullanmaz.
progress_mc klibinin FLV Oynatma Özel Kullanıcı Arabirimi bileşenlerinde çalıştığı gibi, seekBarProgress_mc klibi de fill_mc olmadan çalışır. Başka bir deyişle, bu maskelenmez ve yatay olarak ölçeklenir. seekBarProgress_mc öğesinin %100 değerinde gerçek boyutları, seekBarProgress_mc klibinin içindeki sol ve sağ kenar boşluklarıyla tanımlanır. Bu boyutlar varsayılan olarak eşit olup seekBar_mc ve seekBarProgress_mc öğelerinin
x
(yatay) konumlarını esas alır. Şu örnekte gösterildiği gibi, arama çubuğu film klibinde ActionScript ile boyutları özelleştirebilirsiniz:
this.seekBar_mc.progressLeftMargin = 2;
this.seekBar_mc.progressRightMargin = 2;
this.seekBar_mc.progressY = 11;
this.seekBar_mc.fullnessLeftMargin = 2;
this.seekBar_mc.fullnessRightMargin = 2;
this.seekBar_mc.fullnessY = 11;
Bu kodu SeekBar film klibi Zaman Çizelgesi'ne koyabilir veya ana Zaman Çizelgesi'nde başka bir ActionScript koduyla birlikte koyabilirsiniz. Mizanpajı değiştirmek yerine bu kodla özelleştirirseniz, dolgunun Sahne Alanı'nda olması gerekmez. Yalnızca kütüphanede bulunması gerekiyorsa, doğru sınıf adıyla Kare 1'de ActionScript için dışa aktar öğesini ayarlayın.
FLV Oynatma Özel Kullanıcı Arabirimi SeekBar bileşeninde olduğu gibi, arama çubuğu için tamlık film klibi oluşturulması mümkündür. Arama çubuğunuzun ölçeklenmesi gerekmiyorsa veya arama çubuğunuz ölçeklenir ancak 9 dilimli ölçeklemeyi kullanmazsa, FLV Oynatma Özel Kullanıcı Arabirimi bileşenleri için kullanılan herhangi bir yöntemi kullanarak progress_mc veya fullness_mc öğenizi ayarlayabilirsiniz. Daha fazla bilgi için bkz.
İlerleme ve tamlık film klipleri
.
Flash kaplamalarındaki ses düzeyi çubuğu ölçeklenmediğinden, VolumeBar FLV Oynatma Özel Kullanıcı Arabirimi bileşeniyle aynı şekilde oluşturulur. Daha fazla bilgi için bkz.
SeekBar ve VolumeBar bileşenleri
. Tek istisna, tutamacın farklı şekilde uygulanmasıdır.
Seekbar ve VolumeBar tutamaçları
SeekBar ve VolumeBar tutamaçları, çubuğun yanındaki Mizanpaj katmanına yerleştirilir. Varsayılan olarak, tutamacın sol kenar boşluğu, sağ kenar boşluğu ve
y
ekseni değerleri, çubuk film klibine göre konumuyla belirlenir. Sol kenar boşluğu, tutamacın
x
(yatay) konumu ile çubuğun
x
(yatay) konumu arasındaki farkla belirlenir ve sağ kenar boşluğu sol kenar boşluğuna eşittir. Bu değerleri, SeekBar veya VolumeBar film klibinde ActionScript yoluyla özelleştirebilirsiniz. Şu örnek, FLV Oynatma Özel Kullanıcı Arabirimi bileşenleriyle kullanılan ActionScript koduyla aynıdır:
this.seekBar_mc.handleLeftMargin = 2;
this.seekBar_mc.handleRightMargin = 2;
this.seekBar_mc.handleY = 11;
Bu kodu SeekBar film klibi Zaman Çizelgesi'ne koyabilir veya ana Zaman Çizelgesi'nde başka bir ActionScript koduyla birlikte koyabilirsiniz. Mizanpajı değiştirmek yerine bu kodla özelleştirirseniz, tutamacın Sahne Alanı'nda olması gerekmez. Yalnızca kütüphanede bulunması gerekiyorsa, doğru sınıf adıyla Kare 1'de ActionScript için dışa aktar öğesini ayarlayın.
Bu özelliklerin dışında, tutamaçlar basit film klipleridir ve FLV Oynatma Özel Kullanıcı Arabirimi bileşenleriyle aynı şekilde ayarlanır. Her ikisi de
alpha
özelliği 0 değerine ayarlanmış dikdörtgen arka plana sahiptir. Bunlar yalnızca vuruş bölgesini artırmak için sağlanmış olup zorunlu değildir.
Arka plan ve ön plan klipleri
chrome_mc ve forwardBackBorder_mc film klipleri, arka plan klipleri olarak uygulanır.
Sahne Alanı'ndaki ForwardBackBorder, ForwardBorder ve BackBorder film klipleri ve yer tutucu İleri ve Geri düğmeleri arasında kılavuz katmanında
olmayan
yalnızca ForwardBackBorder öğesidir. Bu yalnızca İleri ve Geri düğmelerini gerçekten kullanan kaplamalarda bulunur.
Bu kliplerin tek gereksinimi, kütüphanede Kare 1'de ActionScript için dışa aktarılması gerekmesidir.
|
|
|