Flash CS3 Components Kodları

WaTcHFuL

EVERYWHERE
Katılım
10 Kas 2005
Mesajlar
10,456
Reaction score
0
Puanları
0
Konum
Bizim Muhattap Olduğumuz Tek Gerçek Zihnimizde Yaş
Diğer kodlarda olduğu gibi Flash bileşenlerine ait tüm kodlar Actionscript 3 `de değiştirilmiştir. Bu bölümde tüm Flash CS3 bileşenlerinin nasıl kullanılacağını basit örneklerle anlatacağız. Bu arada kullanılan kod gruplarında Flash`ın diğer temel kod gruplarındaki değişiklikleri de görme şansına ulaşacaksınız.

User InterFace Örnekleri

Flash CS3 Button Component:

Actionscript3 versiyonunda hemen tüm kodlar diğer versiyona göre tamamen değişmiştir. Yeni bileşen kodları anlatılırken klasik flash kodlarındaki değişimleri de görme şansınız olacaktır.

Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir button bileşenini sahneye sürükleyip bırakın. Properties panelinden butonumuz ismini atayın.

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın(açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyip çalışmanızı test edin:

function url_ac(event:MouseEvent):void {
var link:URLRequest = new URLRequest("http://www.flashokulu.com/");
navigateToURL(link);

}

butonumuz.addEventListener(MouseEvent.CLICK, url_ac);

Önce butona tıkladığınızda çalışmasını istediğiniz kod grubunu yazmalısınız.Bizim istediğimiz tıklama sonrası bir web sayfasının açılmasıdır.Fonksiyon yapısı aslında cs3 versiyonunda aynıdır.Parantez içine fonksiyonun çağrılma yöntemi yazılmaktadır.Biz bir mouse olayı yapacağımızdan bunu belirtmek için event:MouseEvent yazıyoruz.Buradaki void fonksiyon çağrıldığında bir değer dönmeyecekse eklenir. Fonksiyon içindeki:

var link:URLRequest = new URLRequest("http://www.flashokulu.com/");
navigateToURL(link);

kod dizisi actionscript 2 `ki getURL("http://www.flashokulu.com/"); kodunun tam karşılığıdır. Yani artık bir yeni sayfa açmak isterseniz bu yeni kod grubunu kullanmalısınız.

butonumuz.addEventListener(MouseEvent.CLICK, url_ac); bu dizin ile foksiyonumuzu butonumuza atıyoruz. Burada değişiklik parantez içindeki dizilimdir.Mouse olaylarından hangisini kullanmak istiyorsak onu yazıyoruz.Burada istediğimiz butona tıklama olayını yaratmaktır ve bunu MouseEvent.CLICK kodu ile tanımlamaktayız. Diğer mouse olayları yeri geldiğinde örneklerle anlatılacaktır. Daha sonra bir virgül karakteri ekleyip çalışmasını istediğiniz fonksiyonun adını yazıyoruz.

NOT= Küçük bir uyarı yapmak istiyorum.Flash CS3 de Artık semboller üzerine kod yazma şansımız kaldırılmıştır. Tüm kodlar sembole instance name atadıktan sonra timeline üzerine yazılacaktır.






Flash CS3 CheckBox Component:

Bu bölümde 2 checkBox ve bir button component kullanarak seçilen bir web sayfasını açma yönteminden bahsedilecektir.

Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir button ve iki checkBox bileşenini sahneye sürükleyip bırakın. Properties panelinden checkBox`lardan birine kutu1, diğerine kutu2 ismini, button bileşenine ise buton ismini atayın.

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın(açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyip çalışmanızı test edin:

function check1(event:MouseEvent):void {
kutu2.selected=false;
}
function check2(event:MouseEvent):void {
kutu1.selected=false;
}
kutu1.addEventListener(MouseEvent.CLICK, check1);
kutu2.addEventListener(MouseEvent.CLICK, check2);

function url_ac(event:MouseEvent):void {
if(kutu1.selected==true){
var linkimiz:URLRequest = new URLRequest("http://www.flashokulu.com");
navigateToURL(linkimiz);
}
if(kutu2.selected==true){
var linkimiz1:URLRequest = new URLRequest("http://www.mmistanbul.com");
navigateToURL(linkimiz1);
}
}

buton.addEventListener(MouseEvent.CLICK, url_ac);

Button component`te bahsedildiği gibi fonksiyon yapısı aslında cs3 versiyonunda aynıdır.Parantez içine fonksiyonun çağrılma yöntemi yazılmaktadır.Biz bir mouse olayı yapacağımızdan bunu belirtmek için event:MouseEvent yazıyoruz.Buradaki void fonksiyon çağrıldığında bir değer dönmeyecekse eklenir.

function check1(event:MouseEvent):void {
kutu2.selected=false;
}
function check2(event:MouseEvent):void {
kutu1.selected=false;
}

check1 fonksiyonu 1.checkBox, check2 fonksiyonu ise 2.checkBox tıklandığında çalışacaktır.
kutu1 veya kutu2 .selected=false; kodlarının amacı birden fazla kutu işaretlenmesini önlemek içindir.Önce kutu1 seçildikten sonra kullanıcı daha sonra kutu2 yi seçerse bu kodlar sayesinde kutu1 deki check işareti kalkacaktır. Şayet bu kodları yazmazsanız birden fazla kutu seçilmiş olur.

kutu1.addEventListener(MouseEvent.CLICK, check1);
kutu2.addEventListener(MouseEvent.CLICK, check2);

bu dizinler ile foksiyonlarımızı heriki kutuya atıyoruz. Actionscript3 de addEventListener kodunda değişiklik yapılmıştır Değişiklik parantez içindeki dizilimdir.Mouse olaylarından hangisini kullanmak istiyorsak onu yazıyoruz.Burada istediğimiz kutuya tıklama olayını yaratmaktır ve bunu MouseEvent.CLICK kodu ile tanımlamaktayız. Diğer mouse olayları yeri geldiğinde örneklerle anlatılacaktır. Daha sonra bir virgül karakteri ekleyin çalışmasını istediğiniz fonksiyonun adını yazıyoruz.

Buraya kadar yapılanlar checkBox bileşenlerinen birini kullanıcıya seçme şansı vermeyi sağlamaktadır.Şimdi butona bu seçime ait ilgili sayfayı açma kodlarını atayacağız.

function url_ac(event:MouseEvent):void {
if(kutu1.selected==true){
var linkimiz:URLRequest = new URLRequest("http://www.flashokulu.com");
navigateToURL(linkimiz);
}
if(kutu2.selected==true){
var linkimiz1:URLRequest = new URLRequest("http://www.mmistanbul.com");
navigateToURL(linkimiz1);
}
}

buton.addEventListener(MouseEvent.CLICK, url_ac);

Bu kodlar button component kısmında anlatıldı . İsterseniz linke tıklayarak gözatabilirsiniz. Kodlarda gördüğünüz gibi if gibi sorgu kalıpları actionscript2 deki gibidir. kutu1.selected==true sorgusuyla birinci kutu seçilmişse şu linki aç, şayet kutu2.selected==true ; kutu2 seçilmişse bu linki aç denilmektedir.




Flash CS3 ColorPixer Component:

Bu bölümde dinamik olarak çizilmiş bir klip rengini ColorPixer bileşeni ile değiştirme yöntemini göreceğiz.

Uygulama:

1- Flash programını açıp sahnenin sağ yanına components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir colorPixer çekip bırakın. Properties panelinden ismini renkKutusu olarak atayın

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın (açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyip çalışmanızı test edin:

import fl.events.ColorPickerEvent;

var kutu:MovieClip = new MovieClip();
kutuCiz(kutu, 0xFF0000);
addChild(kutu);

renkKutusu.addEventListener(ColorPickerEvent.CHANGE,renkDegistir);

function renkDegistir(event:ColorPickerEvent):void {
kutuCiz(kutu, event.target.selectedColor);
}

function kutuCiz(film:MovieClip,renk:uint):void {
film.graphics.beginFill(renk, 1);
film.graphics.drawRect(10, 10, 75, 50);
film.graphics.endFill();
}



Yeni bir bileşen olan ColorPixer bileşen kodları şu şekilde açıklamak mümkün:

import fl.events.ColorPickerEvent; Artık çok iyi alışmamız gereken bir kod grubu. Bu kod ile bileşene ait tüm olayları çağırmış oluyoruz. Bu kod grubunu çağırmazsanız biraz sonra anlatacağımız Change olayını çalıştırmanız mümkün olmaz. Bileşene ait olayları 4 grupta toplayabiliriz:

-ColorPickerEvent.CHANGE: Kullanıcı bileşende farklı bir renge tıkladığı zaman çalışır.
-ColorPickerEvent.ENTER: Kullanıcı bileşen üzerinde farklı bir renk üzerine fare imleçini getirip klavyeneb enter tuşuna bastığında çalışır.
-ColorPickerEvent.ITEM_ROLL_OUT: Kullanıcı bileşen üzerinde farklı bir renk üzerine fare imlecini getirdikten sonra imleci bu renk üzerinde ayırdığı an çalışır
-ColorPickerEvent.ITEM_ROLL_OVER: Kullanıcı bileşen üzerinde farklı bir renk üzerine fare imlecini getirdiği an çalışır

var kutu:MovieClip = new MovieClip();
kutuCiz(kutu, 0xFF0000);
addChild(kutu);

Üstteki kod grubu ile dinamik bir film klibi çiziyoruz ve rengini kırmızı olarak değiştiriyoruz. Bu renk dinamik çizimle sağlanan klibin sahnede ilk görüldüğü renktir. Buradaki kutuCiz bir fonksiyondur.Üstteki kodların en alt kısmında klibin dinamik çizimini sağlayan bir fonksiyondur.Bu fonksiyondaki renk parametresine 0xFF0000 yani kırmızı renk atayarak ilk görünen dinamik çizimi sağlar. addChild(kutu); Alışmanız gereken diğer bir kod grubuda budur.Tüm dinamik yöntem kullandığınız çalışmalarda bu kod grubunu kullanmak zorundasınız.Bu dinamik yöntemler sembol,çizim,metin kutusu veya bileşen ekleme olabilir. addChild kodu ile kutu isimli klibe bir üstte yazılan fonksiyonlara ait özellikler atanmış olur.

function renkDegistir(event:ColorPickerEvent):void {
kutuCiz(kutu, event.target.selectedColor);
}

Gördüğünüz gibi bu fonksiyon parantez içinde belirtilen Renk Kutusu bileşenine ait bir olay ile ( yani change=tıklama yöntemi ile) çalıştırılabilen bir fonksiyondur.Bu fonksiyon başka bir fonksiyonu çağırmaktadır.Çağrılan bu fonksiyonla parantez içinde yazılmış olan kutu adlı klibin rengini event.target.selectedColor komutu ile (Bu komut renk kutusunu tıkladığımızda o renge ait değeri döndürür) seçtiğimiz renge çevirir.

function kutuCiz(film:MovieClip,renk:uint):void {
film.graphics.beginFill(renk, 1);
film.graphics.drawRect(10, 10, 75, 50);
film.graphics.endFill();
}

İki kez çağrılan fonksiyon kodları üstteki gibidir. Fonksiyonun 2 parametresi vardır.Film fonksiyonun atanacağı sembolün bir film klibi olacağını ,renk ise kliplerin rengini oluşturacak değerleri taşıyacaktır. uint sınıfı bize 32-bit tamsayı taşıyan veri tipleri ile çalışmamızı sağlayan bir sınıftır. uint ile verilebilecek tamsayı değerleri 0 ile 4.294.967.295 rasında değişir.Ve özellikle pixel renk değerleri için kullanılırlar.Diğer kodlar bir dikdörtgen çizimini yapan as2 ye göre biraz değişmiş olduğunu gördüğünüz kod grubudur. film.graphics.beginFill(renk, 1);Burada gördüğünüz gibi bir renk ataması kullanılmamış ve renk değişkeni yazılmıştır.Film klibi ilk yüklendiğinde başta anlattığım gibi önce kutuÇiz isimli bir fonksiyon bu fonksiyonu çağırmakta idi.İki dizini alt alta koyup bakarsanız kutuCiz fonksiyonu çağrıldığında renk değişkenine kırmızı renk atandığını görürsünüz.

film.graphics.beginFill(renk, 1);
kutuCiz(kutu, 0xFF0000);

Bu nedenle ilk renk kırmızı olmaktadır.Daha sonra renk kutusundan bir renk çağrıldığında event.target.selectedColor ile elde edilen değer renk değişkenine atanıp kutu klibinin rengini değiştirmiştir.





Flash CS3 ComboBox Component:

Bu bölümde tamamen dinamik yöntemle combobox hazırlama ve herbir elemandan farklı bir web sayfası açma yönteminden bahsedilecektir. Kullanılacak olan yöntemde combobox için kullanılanacak kodların büyük bir kısmı eklenmeye çalışılmıştır.

Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir combobox bileşenini sahneye sürükleyip bırakın.

2- Sahnedeki bu componenti seçip delete tuşuna basarak silin.Şu an sahnede hiçbir eleman yoktur.Ama kütüphaneyi açıp bakarsanız componentin burada durduğunu görürsünüz. İşte biz bu componenti dinamik yöntemle kodlarla çağırıp kullanacağız.Timeline üzerindeki mevcut tek kareyi tıklayarak seçip actionscript panelini açın ve şu kodları ekleyip filmi test edin:

import fl.controls.ComboBox;
import fl.data.DataProvider;
import flash.net.navigateToURL;

var aramamotorlari:Array = new Array(
{label:"Google",data:"http://www.google.com.tr/"}, {label:"Yahoo",data:"http://www.yahoo.com/"},

{label:"Netbul",data:"http://www.netbul.com/"}, {label:"Arabul",data:"http://www.arabul.com/"},

{label:"Altavista", data:"http://www.altavista.com/"}, {label:"Hemenbul", data:"http://www.hemenbul.com/"}


);

var combo:ComboBox = new ComboBox();
combo.dropdownWidth = 160;
combo.width = 150;
combo.move(10,10);
combo.prompt = "Bir arama motoru seçiniz";
combo.dataProvider = new DataProvider(aramamotorlari);
combo.addEventListener(Event.CHANGE, linkeGit);

addChild(combo);

function linkeGit(olay:Event):void {
var link:URLRequest = new URLRequest();
link.url = ComboBox(olay.target).selectedItem.data;
navigateToURL(link);
combo.selectedIndex = -1;
}

Filmi test ettiğinizde bileşene ait bir elemanı tıkladığınızda ilgili web sayfasını açabilirsiniz.

import fl.controls.ComboBox;
import fl.data.DataProvider;
import flash.net.navigateToURL; Burada 3 sınıfa ait tüm kodlar sahneye import edilmektedir. Actionscript 3 de hangi yöntem olursa olsun bir dinamik çalışma yapacaksanız mutlaka ilgili sınıfı sahneye import etmelisiniz. Burada tüm combobox kontrol kodları, dataprovider(veri sağlayıcı:Bu bileşene ait elemanları ve ona ait verileri oluşturur) ve navigateToURL (ilgili url adresine gitmek için gereken kodları) sınıfı sahneye import edilmiştir.

var aramamotorlari:Array = new Array(
{label:"Google",data:"http://www.google.com.tr/"}, {label:"Yahoo",data:"http://www.yahoo.com/"},.............................
Burada bir dizi oluşturulmaktadır.Dizinin her elemanı 2 bölüm içermektedir.İlki combobox açıldığında görülen label isimleri, diğeri bu ismlere ait data değerleridir.data değerleri ilgili label tıklandığında gidilecek adresin ismini barındırmaktadır.

var combo:ComboBox = new ComboBox(); şayet sahnedeki combobox`u silmeyip bir isim atasaydık bu koda gerek kalmazdı. Ama biz kütüphanedeki bileşeni ancak bu komut ile çağırabiliyoruz.Dikkat ettiyseniz ona combo şeklinde bir isim de atanmıştır.

combo.dropdownWidth = 160; menü tıklanarak açıldığında bu bileşene ait alt elemanları içeren panelin genişlik değeri atanıyor(opsiyonel bir koddur)

combo.width = 150;
combo.move(10,10); Bileşenin genişiliği ve swf dosyası açıldığında bileşenin x ve y koordinatı atanıyor. Opsiyoneldir , yazmazsanız varsyılan değerler atanır.

combo.prompt = "Bir arama motoru seçiniz"; Opsiyoneldir.Bir başlık olmasını istiyorsanız yazabilirsiniz.

combo.dataProvider = new DataProvider(aramamotorlari); Dizi elemanları ve data değerleri bileşene aktarılıyor.

combo.addEventListener(Event.CHANGE, linkeGit); Bileşene ait eleman tıklandığında linkeGit isimli fonksiyonu çalıştırıyor.

addChild(combo); Dinamik bir çalışma yapmak için import komutundan sonra şart olan ikinci komut bu.Üstte yazılan tüm kodların çalışması için combo ismi verilen bu bileşene addChild komutu eklenmelidir.Bu kod sahneye bileşen eklenip properties panelinden isimlendirildiğinde kullanılmazlar.Sadece dinamik çalışmalar içindir.

Herşey tamam, geriye sadece tıklandığında çalıştırılacak fonksiyonun yazılması kaldı.

function linkeGit(olay:Event):void {
var link:URLRequest = new URLRequest();
link.url = ComboBox(olay.target).selectedItem.data;
navigateToURL(link);
combo.selectedIndex = -1;
}

Fonksiyonda parantez içinde ne amaç için kullanıldığı yazılır.Void daha önce söylenmişti. var link:URLRequest = new URLRequest(); bu dizinde diğer örneklerde vardı.Bir link içerecek olan değişkenimiz atanır.
link.url = ComboBox(olay.target).selectedItem.data;Bu dizin combobox ismine tıklandığında o ismi ait atanmış olan değeri yani dizi oluşturduğumuzda data: den sonra yazılan kısmı atar. Bu actionscript2 deki combo.selectedItem.data dizinine eşdeğerdir.
navigateToURL(link); bu dizin ilgili sayfaya ait adresin atanmasını sağlar.
combo.selectedIndex = -1; Bu opsiyonel bir koddur.Yazılmazsa varsayılan işlem yapılır.Varsayılan işlemde şu olur: Combobox açılıp diyelim 2.elemanı tıkladınız.Tıklama sonrası bu eleman ismi en üste gelir ve bir arama motoru seçiniz yazısının yerini alır.Bu değer için örneğin 1 yazarsak: İlk eleman sıfırıncı elemandır.2.eleman ise 1 nolu elemandır.Hangi seçeneği tıklarsanız tıklayın , tıklama sonrası bir arama motoru seçin yazının yerini bu eleman adı alır.Şayet bizim yaptığımız gibi -1 yazarsanız hiçbir değişiklik olmaz.Menüde nereyi tıklarsanız tıklayın bir arama motoru seçin yazısı sabit kalır.






Flash CS3 DataGrid Component:

Bu bölümde 2 sütunlu verilere sahip dataGrid component hazırlama yöntemini göreceğiz.

Uygulama:

1- Flash programını açıp sahnenin sağ yanına components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir dataGrid çekip bırakın. Properties panelinden ismini dataKutu olarak atayın

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın (açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyip çalışmanızı test edin:

import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var birinci:DataGridColumn = new DataGridColumn("Kitap");
var ikinci:DataGridColumn = new DataGridColumn("Fiyat");

dataKutu.addColumn(birinci);
dataKutu.addColumn(ikinci);

var veriler_dizi:Array = new Array({Kitap:"Hastane", Fiyat:"35 YTL" }, {Kitap:"Acı Reçete", Fiyat:"55 YTL" }, {Kitap:"Mor Salkım", Fiyat:"80 YTL"})

dataKutu.dataProvider = new DataProvider(veriler_dizi);

dataKutu.rowCount = dataKutu.length;

dataKutu.width = 180;

Kodların açıklaması:

İlk kod grubu bir direktif kabul edilen import komutudur.Bir önceki versiyonda opsiyonel bir seçim iken CS3 versiyonunda kullanılması zorunlu bir komuttur.

import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

Bu iki kod grubu ile DataGridColumn ve DataProvider sınfı import edilmektedir.Sınıfın çalışmaya import edilmesi demek o sınıfa ait tüm kodları kullanabileceğimiz anlamına gelmektedir. Yani çalışmaya ait heriki sutunu ve bu sutun ve satırlara girecek verileri gösterebilmek için önce bu sınıfa ait kodları sahneye import etmek zorundayız.

var birinci:DataGridColumn = new DataGridColumn("Kitap");
var ikinci:DataGridColumn = new DataGridColumn("Fiyat");

Üstteki kod grubu ile birinci ve ikinci değişken isimleri atanan 2 adet sütun oluşturuyoruz. Bunların içinde Kitap ve Fiyat etiket isimleri yazacaktır. Fakat henüz bu kodlarla alışmaya eklenmiş değildir.

dataKutu.addColumn(birinci);
dataKutu.addColumn(ikinci);

Üstteki kodlar bir evvel bahsettiğimiz sütun isimlerini dataKutu adını verdiğimiz bileşene ekler.Artık çalışmamızda bu sütun ve isimlerini görebiliriz.

var veriler_dizi:Array = new Array({Kitap:"Hastane", Fiyat:"35 YTL" }, {Kitap:"Acı Reçete", Fiyat:"55 YTL" }, {Kitap:"Mor Salkım", Fiyat:"80 YTL"})

Sütunları hazırladığımıza göre bunlara ekliyeceğimiz verilere sıra geliyor. Bir dizi oluşturulur ve bu dizi heriki sutun için oluşturulacak satırlara ait verileri içermektedir.Yani 1.satır ilk sütunda Hastane ikinci sütunda 35 YTL,2.satırda bir sonraki, üçüncü satırda diğer veriler eklenecektir. Diziyi ouşturmak verileri yerleştirdik anlamına gelmez. Şu an sadece tüm verileri içeren dizi elimizde bulunmakta. Bunları çalışmaya aktarmak için ek kodlar gereklidir.

dataKutu.dataProvider = new DataProvider(veriler_dizi);

Dizideki veriler dataprovider sınıfı ile dataKutu isimli bileşene aktarılır.dataprovider`in kabaca kelime anlamı yaptığı işi vurgulayan veri sağlayıcı `dır. Bu yöntem dışında başka yöntemle de verileri ekleyebilirsiniz. Bunu başka örneklerde ileride anlatma imkanım olacaktır.

dataKutu.rowCount = dataKutu.length;

Üstteki komut bileşenimize eklenecek bir scroll içermeden görülecek satır sayısını sağlar. dataKutu.length bize 3 değerini verir. Çünkü bizim dizimizde 3 eleman mevcuttur.Bu dizini silip yerine :

dataKutu.rowCount =2;

yazarsanız dataGrid sağ tarafına bir scroll yerleşir ve sahnede sadece 2 satır ve ona ait elemanlar görülür. Bunu deneyerek görebilirsiniz.

dataKutu.width = 180;

Son kod olan üstteki kod ile tahmin edebileceğiniz gibi bileşenin eni 180 piksel olarak ayarlanır.





Flash CS3 Label Component:

Bu bölümde label componente harici bir txt dosyasından veri yüklemeyi göreceksiniz. Veriye atanmış olan html tagları ile yüklenen metnin stilini de düzenleyebileceksiniz.


Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir label bileşenini sahneye sürükleyip bırakın.

2- Sahnedeki bu componenti seçip properties panelinden _label ismini atayın. Şimdi verilerin yükleneceği txt dosyasını oluşturalım.veriler.txt adını verdiğimiz txt dosyasına ilgili html taglarını ve metni yazıp UTF 8 formatında (Türkçe karakter içeriyorsa) kaydedelim.Txt dosyası ile swf dosyasının aynı dizinde olmasına dikkat edin. Şimdi alttaki kodları yazarak önce fla dosyasını txt dosyasının bulunduğu dizine kaydedip test ediniz.Fla dosyasını kaydetmeden filmi test ederseniz txt dosyası yüklenmez.

text dosyasının içeriği:

<b>........................Birinci paragraf ....................................</b>
<font color='#ff0000'> ..........................İkinci paragraf...................................... </font>

şeklindedir.



var url:String = "veriler.txt";
_label.text="Veriler yükleniyor"
_label.autoSize = TextFieldAutoSize.LEFT;
_label.width = 530;
_label.move(10, 10);
_label.wordWrap = true;
_label.selectable=false;

var yuklenen:URLLoader = new URLLoader();
yuklenen.addEventListener(Event.COMPLETE, veri_yukle);
yuklenen.load(new URLRequest(url));

function veri_yukle(olay:Event):void {
_label.htmlText = URLLoader(olay.currentTarget).data;
_label.condenseWhite=false;
}

Label componentte mümkün olan tüm kodlar kullanılarak çalışma hazırlanmaya çalışılmıştır.Şayet html özelliği kullanmayacaksanız daha sade kodlar kullanmak şansımız vardır. Kodların anlamları :

var url:String = "veriler.txt"; yüklenecek txt dosyasının yolunu gösteren bir değişken oluşturulmuştur.

_label.text="Veriler yükleniyor" Sahnedeki bileşen ilk açıldığında görülecek metindir.harici yüklemede aslında şart olan bir dizin değildir.Çünkü veri yüklendiğinde bu metin kaybolacaktır. Ama çok uzun bir metin yükleyecekseniz yükleme tamamlana kadar ki kısa bir süre için sahnede bu metin cümlesi görülecektir.

_label.autoSize = TextFieldAutoSize.LEFT; Metin yüklendiğinde metin kutusunun ne tarafa yeniden boyutlandırılacağını gösterir. LEFT: Metin kutusunu sağa ve aşağı yönde , RIGHT: Sola ve aşağıya , CENTER: Sola ve sağa doğru yeniden boyutlar. NONE: Bu seçenekte metni bileşene yüklemek için sığdırma ve yeniden boyutlandırma yapmaz.

_label.width = 530; Yüklenen metnin yer kaplayacağı genişlik pixel olarak yazılır.

_label.move(10, 10); Yüklenen metnin x ve y koordinasyonu oluşturulur.

_label.wordWrap = true; Varsayılan değeri false olduğundan birden fazla satır içeren metin varsa yazmalısınız.

_label.selectable=false; varsayılan değer false şeklindedir.Şayet yazdığınız metnin fare ile seçilebilir olmasını istiyorsanız true yazmalısınız.False yazılımı veya bu dizinin yazılmaması ilgili metnin seçilmesini engeller.

var yuklenen:URLLoader = new URLLoader();
yuklenen.addEventListener(Event.COMPLETE, veri_yukle);
yuklenen.load(new URLRequest(url)); Bir url den veri yüklemek için gereken klasik kod grubu budur.loadVariables` den ne kadar farklı olduğunu görüyorsunuz. Buarada çalışacak olan fonksiyon aşağıdadır.

function veri_yukle(olay:Event):void {
_label.htmlText = URLLoader(olay.currentTarget).data;
_label.condenseWhite=false;
}

İlk dizine artık alışmış olmalısınız.

_label.htmlText = URLLoader(olay.currentTarget).data; belirtilen URL den yine belirtilmiş olan txt dosyasına ait veriler html özelliği kullanılarak yüklenmektedir.

_label.condenseWhite=false; Bu dizin sadece html özelliği aktif olduğunda çalışır.Yüklenen metindeki boşluklar varsa false seçimi bu boşlukların korunmasını sağlar. Varsayılan değerde false olduğundan ancak ture olmasını istediğinizde yazmalısınız.True olduğunda kelime aralarındaki boşluk hariç tüm boşluklar kaybolur.

Şayet amacınız basitçe bir metni yüklemek ise en son yazılan fonksiyonu alttaki gibi değiştirmelisiniz.

function veri_yukle(olay:Event):void {
_label.text = URLLoader(olay.currentTarget).data;
}





Flash CS3 List Component:

Flash 8 de olduğu gibi CS3 versiyonunda da combobox ve list component kodları hemen hemen aynıdır. Bu nedenle kodlara ait açıklama yapılmayacaktır.Aynı kodlar combobox örneğinde anlatılmıştır. Örneğimizde dinamik yöntemle hazırlanmış olan bir list component`ten link verme yöntemi gösterilecektir.


Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir list bileşenini sahneye sürükleyip bırakın.

2- Sahnedeki bu componenti seçip delete tuşuna basarak silin.Şu an sahnede hiçbir eleman yoktur.Ama kütüphaneyi açıp bakarsanız componentin burada durduğunu görürsünüz. İşte biz bu componenti dinamik yöntemle kodlarla çağırıp kullanacağız.Timeline üzerindeki mevcut tek kareyi tıklayarak seçip actionscript panelini açın ve şu kodları ekleyip filmi test edin:

import fl.controls.List;
import fl.data.DataProvider;
import flash.net.navigateToURL;

var aramamotorlari:Array = new Array(
{label:"Google",data:"http://www.google.com.tr/"},

{label:"Yahoo",data:"http://www.yahoo.com/"},

{label:"Netbul",data:"http://www.netbul.com/"},

{label:"Arabul",data:"http://www.arabul.com/"},

{label:"Altavista", data:"http://www.altavista.com/"},

{label:"Hemenbul", data:"http://www.hemenbul.com/"}
);

var _list:List = new List();
_list.width = 150;
_list.move(10,10);
_list.dataProvider = new DataProvider(aramamotorlari);
_list.addEventListener(Event.CHANGE, linkeGit);

addChild(_list);

function linkeGit(olay:Event):void {
var link:URLRequest = new URLRequest();
link.url = List(olay.target).selectedItem.data;
navigateToURL(link);
}







Flash CS3 NumericStepper Component:

Bu bölümde sadece kodlarla ve hiç kod kullanmadan aynı çalışmanın yapılışını göreceksiniz. Component kullanımında parameters panelinden birçok ayarlamayı yapma şansınızın olduğunu göstermek için bu ikinci çalışma hazırlanmıştır.Diğer component örneklerinde de bu paneli kullanarak kod kullanma oranını azaltabilirsiniz.


Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir NumericStepper ve bir Label component sürükleyip bırakın. Sonra sahnedeki bu iki bileşeni seçip silin. Bileşenler silinmesine rağmen kütüphanede mevcudiyetini koruyacaktır.Bunları kodlarla çağırarak kullanacağız.

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın(açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyip çalışmanızı test edin:

import fl.controls.Label;
import fl.controls.NumericStepper;

var aciklama:Label = new Label();
var ayMetni:Label = new Label();
var gunMetni:Label = new Label();
var yilMetni:Label = new Label();

var ay:NumericStepper = new NumericStepper();
var gun:NumericStepper = new NumericStepper();
var yil:NumericStepper = new NumericStepper();

addChild(aciklama);
addChild(ayMetni);
addChild(gunMetni);
addChild(yilMetni);
addChild(ay);
addChild(gun);
addChild(yil);

aciklama.setSize(100, 22);
aciklama.text = "Doğum tarihiniz?:"
aciklama.move(210, 10);

ay.move(225, 40);
ay.setSize(40, 22);
ay.minimum = 1;
ay.maximum = 12;
ay.stepSize = 1;
ay.value = 1;

ayMetni.setSize(25, 22);
ayMetni.text = "Ay";
ayMetni.move(270, 40);

gun.move(150, 40);
gun.setSize(40, 22);
gun.minimum = 1;
gun.maximum = 31;
gun.stepSize = 1;
gun.value = 1;

gunMetni.setSize(25, 22);
gunMetni.text = "Gün";
gunMetni.move(195, 40);

yil.move(300, 40);
yil.setSize(55, 22);
yil.minimum = 1900;
yil.maximum = 2007;
yil.stepSize = 1;
yil.value = 1980;

yilMetni.setSize(30, 22);
yilMetni.text = "Yıl";
yilMetni.move(360, 40);

Açıklama:

import fl.controls.Label;
import fl.controls.NumericStepper; Diğer örneklerden de hatırlayacağınız gibi dinamik çalışmalarda bu komut ile her iki bileşene ait kodlar önce import edilir.

var aciklama:Label = new Label();
var ayMetni:Label = new Label();
var gunMetni:Label = new Label();
var yilMetni:Label = new Label();

var ay:NumericStepper = new NumericStepper();
var gun:NumericStepper = new NumericStepper();
var yil:NumericStepper = new NumericStepper(); Yine dinamik component çalışmasında kullanılan klasik kod grubu. Sahneye eklenen 4 label ve 3 numericStepper için isimlendirme yapılmıştır.

addChild(aciklama);
addChild(ayMetni);
addChild(gunMetni);
addChild(yilMetni);
addChild(ay);
addChild(gun);
addChild(yil);Dinamik tüm çalışmalarda uygulanacak olan kodların bileşenlere atanması için şart olan kod grubu.

aciklama.setSize(100, 22);
aciklama.text = "Doğum tarihiniz?:"
aciklama.move(210, 10); Acıklama isimli label bileşeninin boyutu, yazılacak metin ve metnin koordinatı atanmıştır.

ay.move(225, 40);
ay.setSize(40, 22);
ay.minimum = 1;
ay.maximum = 12;
ay.stepSize = 1;
ay.value = 1;

Ay isimli numericStepper`e ait elemanlar oluşturulur. Move: Koordinatları, setSize: Boyutu, minimum: Stepper`in inebileceği en alt değeri, maximum: Alınacak olan en üst değeri, stepSize:Her tıklamada sayıların kaçar kaçar artıp azalacağı, value: Dosya ilk açıldığında bileşen üzerinde görülmesini istediğiniz rakamsal değeri atamaktadır. Üstteki kodlarla ay isimli stepper ilk açıldığında 1 değerini gösterir,birer birer artar en alr rakamsal değer 1 en üst değer 12 dir.
Diğer tüm kodlar yukarıdaki sisteme göre hazırlanmıştır.

Üstteki çalışmayı hiç kod kullanmadan hazırlama yöntemi:

1- Önce sahneye 4 adet numericStepper bileşeni yerleştirelim. Her elemana ait metni üstüne veya yanına text aracı ile yazlım:

2i2smp.gif


2- Properties panelinin hemen yanındaki parameters panelini açalım. Önce gün için ayarlanacak olan n.stepper bileşenini tek tıklama ile seçip parameters paneline bakalım:

11qijxt.gif


Buradaki enabled true olmalıdır.False olursa çalıştırılması mümkün olmaz. Maximum görülmesini istediğiniz en üst değer,minimum en alt değer, stepSize tıklama ile atlanacak sayı değeri, value ise sahnede görmeyi istediğiniz rakamsal değeri gösterir.

qyfrqo.gif


Aynı işlemler ay bileşeni için yapılır.

m83aky.gif


Son olarak yıl bileşen elemanları düzenlenir.Şimdi filmi test edebilirsiniz.







Flash CS3 ProgressBar ve UILoader Component:

Bu bölümde ProgressBar ve UILoader Component kullanarak bir resim dosyasının harici yüklenmesine ait bir örnek anlatılacaktır.

Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir tane ProgressBar, bir tane Label ve bir tane IULoader bileşenini sahneye sürükleyip bırakın. Sahnede yerleştirilen yerin önemi yoktur.Çünkü kodlarla bu koordinatlar yeniden düzenlenecektir.

2gtcbb6.gif


2- Progressbar bileşenine bar, label bileşenine metin ve IULoader bileşenine yukleme ismini properties panelinden atayın.1.kareye şu kodları atayıp filmi test edin.

var url:String = "resmimiz.jpg";

yukleme.autoLoad = false;
yukleme.source = url;
yukleme.move(2, 2);
yukleme.scaleContent = true;
yukleme.load();

bar.source = yukleme;
bar.move(73,100);
bar.addEventListener(ProgressEvent.PROGRESS, ilerleme);
bar.addEventListener(Event.COMPLETE, sonuc);

metin.text = "veriler yükleniyor";
metin.autoSize = TextFieldAutoSize.LEFT;
metin.move(118, 120);

function ilerleme(event:progressEvent):void {
metin.text = "%"+Math.round((event.bytesLoaded/event.bytesTotal)*100 )+ " yüklendi ";
}

function sonuc(event:Event):void {
bar.removeEventListener(ProgressEvent.PROGRESS, ilerleme);
bar.removeEventListener(Event.COMPLETE, sonuc);
removeChild(bar);
removeChild(metin);
}
Açıklama:

var url:String = "resmimiz.jpg"; Bir değişken oluşturulup değer olarak yüklenecek dosyanın yolu yazılır.

yukleme.autoLoad = false; false değeri yükleme komutunun çalışması için load komutuna ihtiyaç duyar. Şayet load komutu ile yükleme emri verilezse harici dosya yüklenemez. true değeri verilirse load komutunun verilmesine gerek duymadan otomatik yükleme yapar.

yukleme.source = url; yüklenecek kaynak dosyanın adresi yazılır.Biz bu adresi bir değişkene atadığımız için bu alana url değişkeni yazılır.isterseniz değişken kullanmadan buraya doğrudan adresi yazabilirsiniz.

yukleme.move(2, 2); yüklenecek jpg dosyasının sahnedeki x ve y koordinatları atanır.

yukleme.scaleContent = true; harici yüklenen resim dosyasının ebadları ne olursa olsun bileşenin boyutlarına ölçeklenir.Bu değeri false olarak alırsanız tüm ebadları koruyarak dosya yüklenir.

yukleme.load(); autoLoad değerini false olarak verdiğimiz için bu komutu kullanmak zorundayız. Komut olmadan yükleme yapılmaz. Şayet autoLoad değerini true yaparsanız bu komut dizinini kullanmanıza gerek yoktur.

bar.source = yukleme; Bu komut dizini progressbar ile IULoader bileşeni arasındaki ilişkiyi kurar. Bu bağlantı dizininden sonra progressbar bileşen kodlarının özellikleri atanacaktır.

bar.move(73,100); Progressbar bileşeninin sahnede görüleceği x ve y koordinatlarını oluşturur.

bar.addEventListener(ProgressEvent.PROGRESS, ilerleme); yükleme işlemi tamamlanana kadar ilerleme isimli fonksiyon çalıştırılmaktadır. Biraz sonra göreceğiniz gibi ilerleme fonksiyonunda metin isimli label bileşeninde yüklenen dosyanın yüzde değeri gösterilmektedir.

bar.addEventListener(Event.COMPLETE, sonuc); yükleme işlemi tamamlandığı an sonuc isimli bir fonksiyonu çağırır ve çalıştırır. Bu fonksiyonun içeriği az sonra açıklanacaktır.

metin.text = "veriler yükleniyor"; çok gerekli bir dizin değildir.Label bileşeni sahnede ilk gözüktüğünde içereceği metni atar. Veriler yüklendikçe bu alanda yüzde değerleri gözükecektir. Bu dizindeki metin label bileşeni sahnede gözüktüğünde ve bir nedenle veri yüklenmesi kesilmiş ise alanın boş kalmasını önler.Ama yükleme hemen başlarsa bu metni sahnede görme şansımız olmayabilir.

metin.autoSize = TextFieldAutoSize.LEFT; Metin bileşenin sol tarafına yaslanarak yüklenir.

metin.move(118, 120); label bileşeninin sahnedeki x ve y koordinatlarını atar.

function ilerleme(event:progressEvent):void {
metin.text = "%"+Math.round((event.bytesLoaded/event.bytesTotal)*100 )+ " yüklendi ";
}
Yüklenen byte oranını label bileşeninde göstermek için kullanılan fonksiyondur.

function sonuc(event:Event):void {
bar.removeEventListener(ProgressEvent.PROGRESS, ilerleme);
bar.removeEventListener(Event.COMPLETE, sonuc);
removeChild(bar);
removeChild(metin);
}
Bu komut verilerin yüklenmesi bittikten sonra çalışacak fonksiyonu oluşturur.Bu fonksiyon çalıştığında bar isimli progressBar bileşenine atanan tüm kodlama özellikleri kaldırılır ve removeChild komutları ile progressbar ve label bileşeni sahneden silinir.








Flash CS3 RadioButton Component:

Bu bölümde sahnedeki 3 seçenekli radiobutton aracılığı ile film içindeki başka bir kareye geçiş yöntemi anlatılacaktır.

Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir radiobutton ve bir button bileşenini sahneye sürükleyip bırakın. Kütüphaneyi açın Buradaki radiobutton bileşeninden 2 kez sahneye sürükleme yolu ile yerleştirin. Üstteki çalışmada göreceğiniz gibi sahnede alt alta duran 3 radiobutton ve hemen altında bir button bileşeni olsun. Properties panelinden radiobuttonlara sırası ile radio1, radio2 ve radio3 isimlerini atayın. Button bileşenine de butonumuz ismini verirn.

2- Ana timeline da bulunan tek frame yanına 3 adet blankframe ekleyin ve buraya 3 ayrı resmi import edin. Şimdi 1.kareyi seçip şu kodları atayın ve filmi test edin.

radio1.label = "2.kareye geç";
radio1.move(10, 10);
radio1.value="2";
radio1.addEventListener(MouseEvent.CLICK, secimSonucu);

radio2.label = "3.kareye geç";
radio2.move(10, 30);
radio2.value="3";
radio2.addEventListener(MouseEvent.CLICK, secimSonucu);

radio3.label = "4.kareye geç";
radio3.move(10, 50);
radio3.value="4";
radio3.addEventListener(MouseEvent.CLICK, secimSonucu);

butonumuz.move(10, 80);
butonumuz.label="Seçiniz"


function secimSonucu(event:MouseEvent):void {
var deger= event.currentTarget.value;
function git(event:MouseEvent):void {
gotoAndStop(deger)
}
butonumuz.addEventListener(MouseEvent.CLICK, git);
}
stop()
Açıklama:

radio1.label = "2.kareye geç"; radioButton bileşenin metnini atar.

radio1.move(10, 10); Bileşenin sahnede gözükeceği x ve y koordinatlarını oluşturur.

radio1.value="2"; Bileşene bir değer atanır.Burada radio1 bileşeni tıklandığında değer olarak 1 atanır.Bu değer daha sonra kodlarda kullanılarak değişik çalışmalar oluşturulur.

radio1.addEventListener(MouseEvent.CLICK, secimSonucu); Artık bu addEventListener koduna alışmış olmalısınız.RadioButtona fare ile tıkladığınız an secimSonucu isimli bir fonksiyon çalıştırılır.

Aynı işlemler diğer 2 bileşen içinde aynı şekilde uygulanır.

butonumuz.move(10, 80);
butonumuz.label="Seçiniz" Button bileşeni metni ve koordinatlarını oluşturur.

function secimSonucu(event:MouseEvent):void {
var deger= event.currentTarget.value;
function git(event:MouseEvent):void {
gotoAndStop(deger)
}
butonumuz.addEventListener(MouseEvent.CLICK, git);
}

Burada içiçe geçmiş 2 fonksiyon mevcut.var deger= event.currentTarget.value; Değer isimli bir değişkene radiobutton tıklandığında seçilen elemana ait değer atanır.Bu değer üstte açıklandığı gibi 2,3 veya 4 olabilir. function git(event:MouseEvent):void { Bu fonksiyon button bileşenine ait bir fonksiyondur ve button bileşeni tıklandığında çalışacak fonksiyon grubudur. gotoAndStop(deger)Button bileşeni tıklandığında deger bileşenine atanan frame numarasına ilerleme sağlanır. butonumuz.addEventListener(MouseEvent.CLICK, git); Bu kod butona basıldığında çalışacak fonksiyonu atar.

Basitçe özetlersek çalışma açıldığında 3 seçenekli bir radiobutton grubu var.örneğin siz 2.kareye gidin seçeneğini tıkladığınızda bir değişkene 2 değeri atanır.Sonra Seçiniz isimli butona bastığınızda film 2 numaralı kareye atlar.

Aynı çalışmayı bir kareye atlamak için değil de bir linki açmak için kullanmak isterseniz kodları şu şekilde değiştirebilirsiniz.

(Ana timeline içindeki 2,3 ve 4 kareleri silin sadece ilk kareyi kullanın.)

radio1.label = "Yahoo";
radio1.move(10, 10);
radio1.value="http://www.yahoo.com";
radio1.addEventListener(MouseEvent.CLICK, secimSonucu);

radio2.label = "Google";
radio2.move(10, 30);
radio2.value="http://www.google.com";
radio2.addEventListener(MouseEvent.CLICK, secimSonucu);

radio3.label = "AltaVista";
radio3.move(10, 50);
radio3.value="http://www.altavista.com";
radio3.addEventListener(MouseEvent.CLICK, secimSonucu);

butonumuz.move(10, 80);
butonumuz.label="Seçiniz"
function secimSonucu(event:MouseEvent):void {
var deger= event.currentTarget.value;
function git(event:MouseEvent):void {
var link:URLRequest = new URLRequest(deger);
navigateToURL(link);

}
butonumuz.addEventListener(MouseEvent.CLICK, git);
}





 


Flash CS3 ScrollPane Component:

Bu bölümde harici bir jpg dosyasını scroopane bileşenine yükleme yöntemini göreceksiniz. Yüklenme sırasında preloading yapımı için bir label bir de progressBar bileşeninden yararlanılacaktır.


Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir scrollPane, bir label ve bir de progressbar bileşenini sahneye sürükleyip bırakın. Sahnedeki konumları önemli değildir. Karışık yerleştirilebilir, yerleşim kodlarla ayarlanacaktır. Properties panelinden ScrollPane bileşenine yukleme, label bileşenine metin ve progressBar bileşenine bar ismini atayın.

2- Birinci kareye şu kodları yazıp filmi test edin:

yukleme.move(10,10);
yukleme.source="resmimiz.jpg";
yukleme.scrollDrag=true;

bar.source = yukleme;
bar.move(83,100);
bar.addEventListener(ProgressEvent.PROGRESS, ilerleme);
bar.addEventListener(Event.COMPLETE, sonuc);

metin.text = "veriler yükleniyor";
metin.autoSize = TextFieldAutoSize.LEFT;
metin.move(128, 120);

function ilerleme(event:progressEvent):void {
metin.text = "%"+Math.round((event.bytesLoaded/event.bytesTotal)*100 )+ " yüklendi ";
}

function sonuc(event:Event):void {
bar.removeEventListener(ProgressEvent.PROGRESS, ilerleme);
bar.removeEventListener(Event.COMPLETE, sonuc);
removeChild(bar);
removeChild(metin);
}

Açıklama:

yukleme.move(10,10); scrollPane x ve y yerleşim koordinatlarını ayarlar.

yukleme.source="resmimiz.jpg"; Yüklenecek kaynak dosyanın yolu yazılır

yukleme.scrollDrag=true; Opsiyoneldir.Şayet true değeri verirseniz panel içindeki resmi fare ile sürükleyebilirsiniz.

bar.source = yukleme; progressBar ile scrollPane arasında bağlantı kuruluyor. Diğer kodlar anlatılmayacaktır.Çünkü kullanılan kodların hepsi progressBar örneğindekinin aynıdır.Progressbar bileşenini inceleyerek detayları öğrenebilirsiniz.








Flash CS3 Slider Component:

Bu bölümde bir UILoader component`e harici yüklenene bir resim dosyasının alfa değerini Slider component aracılığı ile değiştirme yöntemini göreceksiniz.


Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir UILoader ve bir Slider bileşenini sahneye sürükleyip bırakın. Properties panelinden UILoader bileşenine _loader slider bileşenine _slider ismini atayın ve sahnede uygun bir alana yerleştirin.

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın (açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyin:

import fl.events.SliderEvent;

_slider.width = 250;
_slider.snapInterval = 10;
_slider.tickInterval = 10;
_slider.maximum = 100;
_slider.value = 100;

_loader.source = "tiger.jpg";
_loader.scaleContent = true;

_slider.addEventListener(SliderEvent.CHANGE, alfaDegeri);

function alfaDegeri(event:SliderEvent):void {
_loader.alpha = event.value/100;
trace("Resim alfa değeri: %"+event.value)
}



3- tiger.jpg resmini swf dosyasının bulunduğu dizinde tutmaya dikkat edin şayet farklı bir klsör içinde ise ilgili yolu actionscript paneline yazın. Ve filmi test edin.İsterseniz resim yüklenmesi için bir textArea ve progressBar bileşenini kullanarak preloader oluşturabilirsiniz. Buna ait örnek diğer bileşenlerin anlatımında tanımlanmıştı.

Açıklama:

import fl.events.SliderEvent; Bir slider bileşenini çalıştırabilmek için tüm slider olaylarını önce import etmek durumundasınız. Bu diğer bileşenlerden farklı olarak dinamik yöntemle çağrılmasa bile şart olan bir dizindir.

_slider.width = 250; Bileşenin genişliğini oluşturur.

_slider.snapInterval = 10; Sürgü kolunu hareket ettirdiğinizde azalan veya artan değeri gösteriri.Değerler 0-10 arasınsa verilir ve tekli değerler kullanılmaz.(0-2-4-6-8-10 şeklinde değerler verilebilir) Bu değeri değiştirip deneyerek etkisinin nasıl olduğunu çok daha rahat değerlendirebilirsiniz.

_slider.tickInterval = 10; Slider bara fare ile tıkladığınızda değişen değeri ayarlar. Varsayılan değer sıfırdır.Bu değeri değiştirerek deneme yapabilirsiniz.

_slider.maximum = 100; Numerik değerler dizisinin en üst değerini ayarlar.

_slider.value = 100; Slider bileşeninin mevcut değerini ayarlar. Bu değer maksimum ve minimum değerler arasındaki slider topuzunun pozisyonunun değiştirilmesi ile sağlanır.

_loader.source = "tiger.jpg"; UILoader bileşenine yüklenecek dosyanın yolunu gösterir.

_loader.scaleContent = true; Yüklenen resmin ebadları ne olursa olsun yüklendiği bileşenin boyutlarına ölçeklenir.Değeri false verirseniz mevcut boyutları ile yüklenir.

_slider.addEventListener(SliderEvent.CHANGE, alfaDegeri); Her bileşende gördüğünüz bir dizin.Her değer değişiminde alfaDegeri isimli fonksiyon çalıştırılır.Bu fonksiyon:

function alfaDegeri(event:SliderEvent):void {
_loader.alpha = event.value/100;
trace("Resim alfa değeri: %"+event.value)
}

_loader.alpha = event.value/100; value ve maksimum değerini 100 birim olarak ayarladığımızı hatırlayın. snap ve tickInterval değerlerini 10 olarak ayarladığımız için her 10 birimlik kaydırmada alfa değeri 10 birim olarak artar ya da azaltılır.







Flash CS3 TextArea Component:

Bu bölümde bir TextArea component`e html tagları ile font özelliği ayarlanabilen harici bir text dosyasından veri yüklemeyi göreceksiniz.

Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir TextArea bileşenini sahneye sürükleyip bırakın. Properties panelinden metinKutusu ismini atayın.

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın(açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyin:

metinKutusu.setSize(320, 240);
metinKutusu.move(10, 10);
var link:URLRequest=new URLRequest("veriler.txt")
var adres:URLLoader = new URLLoader();
adres.addEventListener(Event.COMPLETE, sonuc);
adres.load(link);

function sonuc(event:Event):void {
var txt:String = event.target.data;
metinKutusu.htmlText = txt;
}

3- Yüklenecek olan txt dosyamızın ismini veriler.txt olarak değiştirin. Html özelliği de kullanılacağı için text dosyasının içeriği:

<b>........................Birinci paragraf ....................................</b>
<font color='#ff0000'> ..........................İkinci paragraf...................................... </font>

şeklinde olacaktır.Bu metin dosyasını flash çalışmanızın bulunduğu dizine kaydedin.Filmi test ettiğinizde gereken html özelliğini içeren metnin bileşen içine yüklendiğini ve sağda otomatik scroll eklendiğini görürsünüz.
Açıklama:

metinKutusu.setSize(320, 240); Sahnedeki bileşenin ebadlarını ayarlar.

metinKutusu.move(10, 10); Sahnedeki bileşenin yerleşim koordinatlarını verir.

var link:URLRequest=new URLRequest("veriler.txt"); Yüklenecek dosyanın adresini link isimli değişkene atar.

var adres:URLLoader = new URLLoader(); Bu sınıf veri yüklenmesinde mutlak kullanım gerektiren bir sınıftır.Bir veri yükleme amacı güden bir değişken oluşturulur.

adres.load(link); Bu taşıyıcı değişkene link değişkeni ile yolu gösterilen ilgili txt dosyasından veriler yüklenir.

adres.addEventListener(Event.COMPLETE, sonuc); Bu taşıyıcı aracılığı ile veri yüklenmesi tamamlandığı an sonuc isimli bir fonksiyon çağrılır ve çalıştırılır.

function sonuc(event:Event):void {
var txt:String = event.target.data;
metinKutusu.htmlText = txt;
}
txt isimli bir değişken oluşturulur ve hedef alınan adres isimli değişkenin taşıdığı veri değerleri bu değişkene aktarılır.

metinKutusu.htmlText = txt; Html özelliğini koruyarak txt içindeki tüm veriler metinKutusu isimli bileşene aktarılır. Şayet burada metinKutusu.text=txt; yazarsanız html özelliğini almadan tüm veriyi aktarabilirsiniz.








Flash CS3 TextInput Component:

Bu bölümde bir TextInput component`e metin girişini ve girilen karakter sayısının bir label bileşeninde nasıl gösterileceğini göreceksiniz. Alttaki metin kutusuna sadece rakam girişi yapabilirsiniz. Diğer karakterlerin girişi kısıtlanmıştır.Girilecek maksimum değer sayısı 6 dır. Girilen karakter sayısı label bileşeninde gösterilir,girilen karakterlerden bir veya daha fazlasını sildiğinizde label bileşenindeki karakter sayısı güncellenir.Deneme yaparak anlatılanları daha kolay inceleyebilirsiniz.

Uygulama:

1- Sahneye bir TextInput (isim olarak _textInput) ve bir label ( isim olarak _label adı vererek) bileşeni sürükleyip bırakın. Sahnedeki yeri önemli değildir, kodlarla yerleşimi düzenlenecektir.

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın(açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyin:

_textInput.restrict = "0-9";
_textInput.maxChars = 6;
_textInput.move(29, 15);
_textInput.addEventListener(Event.CHANGE, hesapla);

_label.autoSize = TextFieldAutoSize.LEFT;
_label.text =_textInput.maxChars + " karakterden " + _textInput.length+" tanesi girildi";
_label.move(10, 45);

function hesapla(event:Event):void {
_label.text = _textInput.maxChars + " karakterden " + _textInput.length+" tanesi girildi";
}
Açıklama:

_textInput.restrict = "0-9"; Metin kutusuna sadece 0-9 arasındaki rakam karakterini girebilirsiniz.Bu giriş kısıtlaması uygulamasının değişik şekilleri vardır.Help bölümünden restrict şeklinde arama yapabilirsiniz.

_textInput.maxChars = 6; metin kutusuna sadece 6 karakter girebilirsiniz.

_textInput.move(29, 15); Bileşenim x ve y koordinatlarını ayarlar.

_textInput.addEventListener(Event.CHANGE, hesapla); Metin kutusuna her karakter girilmesi veya mevcut karakterin silinmesi durumunda hesapla fonksiyonu çalıştırılır.

_label.autoSize = TextFieldAutoSize.LEFT; Girilen metin karakteri label bileşeninin eninden fazla ise metin kutusu otomatik olarak sola doğru genişler.

_label.text =_textInput.maxChars + " karakterden " + _textInput.length+" tanesi girildi"; Sahne ilk açıldığında label bileşeninde görülecel metni ayarlar. textInput.maxChars bu değer üstteki kodlarda ayarlandığı gibi 6 değerini alır _textInput.length o an metin kutusuna girilen karakter sayısını gösterir.İlk değer karakter girilmediği için sıfırdır.

function hesapla(event:Event):void {
_label.text = _textInput.maxChars + " karakterden " + _textInput.length+" tanesi girildi";
}
Her karakter girildiğinde çalışan fonksiyon dizisidir. İlk açıldığında 0 olan karakter sayısı her giriş ve silinmede güncellenir.







Flash CS3 TileList Component:

Bu bölümde TileList component kullanarak oluşturulan 3 sütuna 3 resim dosyasının yüklenmesi işlemini anlatacağız.

Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir TileList bileşenini sahneye sürükleyip bırakın.Dinamik çalışma düşündüğümüz için bu bileşeni sahneden silin .Sahnede şu anda hiçbir eleman bulunmamaktadır.Bileşeni kodlarla kütüphaneden çağıracağız. Yüklenecek 3 resmi resimler isimli klasör içine koyun ve swf dosyası ile aynı dizine yerleştirin.

2- Ana sahne 1.kareyi tek tıklama ile seçin ve actionscript panelini açın(açık değilse F9 tuşu ile açabilirsiniz) ve şu kodları ekleyip çalışmanızı test edin:

import fl.controls.TileList;

var link:String = "resimler/";

var _tileList:TileList = new TileList();
_tileList.addItem({label:"Resim 1", source:link + "resim1.jpg"});
_tileList.addItem({label:"Resim 2", source:link + "resim2.jpg"});
_tileList.addItem({label:"Resim 3", source:link + "resim3.jpg"});
_tileList.columnWidth = 135;
_tileList.rowHeight = 100;
_tileList.columnCount = 3;
_tileList.rowCount = 1;
_tileList.move(10, 10);
addChild(_tileList);

Açıklama:

import fl.controls.TileList; Dinamik çalışmalardan hatırlayacağınız gibi önce tüm TileList bileşen kodlarını import ediyoruz.

var link:String = "resimler/"; link isimli değişkene resim dosyalarının bulunduğu klasörün yolunu yazıyoruz.Bunu bizim yaptığımız gibi göreceli yol olarak verebileceğiniz gibi mutlak yol olan" http://www.adresiniz.com/resimler/" şeklinde de yazabilirsiniz.

var _tileList:TileList = new TileList(); Yine dinamik çalışmalarda bu dizin bir kural olarak yazılır. Yeni bir TileList değişkeni oluşturulur. Şayet sahneye yerleştirdiğiniz bileşeni silmeseydiniz bu dizini yazmanıza gerek olmayacaktı ve sahnedeki bileşenin adını burada belirtilen _tileList şeklinde yazmanız gerekecekti.

_tileList.addItem({label:"Resim 1", source:link + "resim1.jpg"}); Burada bileşene yüklenecek resim dosyaları için gereken kodlar yazılıyor.Labek kısmında yazacağınız isim o resmin üzerinde gözükecektir.source kısmı resmin yükleneceği klasörün yolunu gösterir.biz bu yolu link isimli değişkene atadığımız için bu alana değişkenin adını yazdık.Diğer resimler için de aynı işlemi yapıyoruz.

_tileList.columnWidth = 135; Bu oluşturduğumuz sütunun enini yani resimlerin yükleneceği her alanın enini ayarlar.

_tileList.rowHeight = 100; Bu dizin ilgili satırın yüksekliğini yani resimlerin yükleneceği her alanın yüksekliğini ayarlar.

_tileList.columnCount = 3; Bu oluşturulacak sütun sayısını hazırlar.Bu kodlarla yanyana 3 tane kutucuk ortaya çıkar.

_tileList.rowCount = 1; Bu satır sayısını oluşturur.Şayet bu değeri 2 yaparsanız 3 sütun ve 2 satır ortaya çıkar ve bu bize sahnede 3 üstte ve 3 altta 6 kutu oluşumunu sağlar.

_tileList.move(10, 10); Bileşenin sahnedeki x ve y koordinatlarını oluşturur.

addChild(_tileList); Bu dizini hatırlayacaksınız.Her dinamik çalışmada şart olan bir dizin olduğunu önceden de belirtmiştik.Şayet siz sahnedeki bileşeni silmeyip ona bir isim vererek kullanmak isterseniz bu dizini yazmanıza gerek kalmaz.







Flash CS3 ProgressBar ve UILoader Component:

Bu bölümde ProgressBar ve UILoader Component kullanarak bir resim dosyasının harici yüklenmesine ait bir örnek anlatılacaktır.

Uygulama:

1- Flash programını açıp components panelinden (panel açık değilse Ctrl+F7 tuşuna basarak açabilirsiniz) bir tane ProgressBar, bir tane Label ve bir tane IULoader bileşenini sahneye sürükleyip bırakın. Sahnede yerleştirilen yerin önemi yoktur.Çünkü kodlarla bu koordinatlar yeniden düzenlenecektir.

2gtcbb6.jpg


2- Progressbar bileşenine bar, label bileşenine metin ve IULoader bileşenine yukleme ismini properties panelinden atayın.1.kareye şu kodları atayıp filmi test edin.

var url:String = "resmimiz.jpg";

yukleme.autoLoad = false;
yukleme.source = url;
yukleme.move(2, 2);
yukleme.scaleContent = true;
yukleme.load();

bar.source = yukleme;
bar.move(73,100);
bar.addEventListener(ProgressEvent.PROGRESS, ilerleme);
bar.addEventListener(Event.COMPLETE, sonuc);

metin.text = "veriler yükleniyor";
metin.autoSize = TextFieldAutoSize.LEFT;
metin.move(118, 120);

function ilerleme(event:progressEvent):void {
metin.text = "%"+Math.round((event.bytesLoaded/event.bytesTotal)*100 )+ " yüklendi ";
}

function sonuc(event:Event):void {
bar.removeEventListener(ProgressEvent.PROGRESS, ilerleme);
bar.removeEventListener(Event.COMPLETE, sonuc);
removeChild(bar);
removeChild(metin);
}
Açıklama:

var url:String = "resmimiz.jpg"; Bir değişken oluşturulup değer olarak yüklenecek dosyanın yolu yazılır.

yukleme.autoLoad = false; false değeri yükleme komutunun çalışması için load komutuna ihtiyaç duyar. Şayet load komutu ile yükleme emri verilezse harici dosya yüklenemez. true değeri verilirse load komutunun verilmesine gerek duymadan otomatik yükleme yapar.

yukleme.source = url; yüklenecek kaynak dosyanın adresi yazılır.Biz bu adresi bir değişkene atadığımız için bu alana url değişkeni yazılır.isterseniz değişken kullanmadan buraya doğrudan adresi yazabilirsiniz.

yukleme.move(2, 2); yüklenecek jpg dosyasının sahnedeki x ve y koordinatları atanır.

yukleme.scaleContent = true; harici yüklenen resim dosyasının ebadları ne olursa olsun bileşenin boyutlarına ölçeklenir.Bu değeri false olarak alırsanız tüm ebadları koruyarak dosya yüklenir.

yukleme.load(); autoLoad değerini false olarak verdiğimiz için bu komutu kullanmak zorundayız. Komut olmadan yükleme yapılmaz. Şayet autoLoad değerini true yaparsanız bu komut dizinini kullanmanıza gerek yoktur.

bar.source = yukleme; Bu komut dizini progressbar ile IULoader bileşeni arasındaki ilişkiyi kurar. Bu bağlantı dizininden sonra progressbar bileşen kodlarının özellikleri atanacaktır.

bar.move(73,100); Progressbar bileşeninin sahnede görüleceği x ve y koordinatlarını oluşturur.

bar.addEventListener(ProgressEvent.PROGRESS, ilerleme); yükleme işlemi tamamlanana kadar ilerleme isimli fonksiyon çalıştırılmaktadır. Biraz sonra göreceğiniz gibi ilerleme fonksiyonunda metin isimli label bileşeninde yüklenen dosyanın yüzde değeri gösterilmektedir.

bar.addEventListener(Event.COMPLETE, sonuc); yükleme işlemi tamamlandığı an sonuc isimli bir fonksiyonu çağırır ve çalıştırır. Bu fonksiyonun içeriği az sonra açıklanacaktır.

metin.text = "veriler yükleniyor"; çok gerekli bir dizin değildir.Label bileşeni sahnede ilk gözüktüğünde içereceği metni atar. Veriler yüklendikçe bu alanda yüzde değerleri gözükecektir. Bu dizindeki metin label bileşeni sahnede gözüktüğünde ve bir nedenle veri yüklenmesi kesilmiş ise alanın boş kalmasını önler.Ama yükleme hemen başlarsa bu metni sahnede görme şansımız olmayabilir.

metin.autoSize = TextFieldAutoSize.LEFT; Metin bileşenin sol tarafına yaslanarak yüklenir.

metin.move(118, 120); label bileşeninin sahnedeki x ve y koordinatlarını atar.

function ilerleme(event:progressEvent):void {
metin.text = "%"+Math.round((event.bytesLoaded/event.bytesTotal)*100 )+ " yüklendi ";
}
Yüklenen byte oranını label bileşeninde göstermek için kullanılan fonksiyondur.

function sonuc(event:Event):void {
bar.removeEventListener(ProgressEvent.PROGRESS, ilerleme);
bar.removeEventListener(Event.COMPLETE, sonuc);
removeChild(bar);
removeChild(metin);
}
Bu komut verilerin yüklenmesi bittikten sonra çalışacak fonksiyonu oluşturur.Bu fonksiyon çalıştığında bar isimli progressBar bileşenine atanan tüm kodlama özellikleri kaldırılır ve removeChild komutları ile progressbar ve label bileşeni sahneden silinir.







Flash CS3 ScrollBar Component:

Bu bölümde dinamik metin kutusuna eklenen scrollbar bileşenine harici bir txt dosyasından html özelliğini koruyarak metin yükleme işlemini göreceksiniz.çalışmayı mümkün olduğu kadar kodlarla değil manuel olarak yapmaya çalışacağız.


Uygulama:

1- Flash programını açıp sahneye yeterli genişlikte bir dinamik metin kutusu çizin. Properties panelinden kutu ismini verin. Alttaki resimde görüldüğü gibi multiline özelliğini açın ve border alanını tıklayarak metin kutusunda bir çerçeve gözlenmesini sağlayın.

2j5cubl.gif


2- Component panelini açın ve bir scrollbar bileşenini fare ile tutarak sürükleyin ve dinamik metin kutusu içine bırakın.Barın hemen sağ kenara otomatik yapıştığını göreceksiniz. Sahnedeki barı tek tıklama ile seçin ve properties panelinden ismini bar olarak yazın.Proeprties panelinin hemen yanında parameters paneline tıklayın.

hwdftt.gif


scrollTargetname alanına bakarsanız dinamik metin kutusunun ismi olan kutu ile otomatik ilişkilendiğini görürsünüz.Direction kısmı scrollbar bileşeninin vertikal oluşmasını sağlar.

3- Ana sahnedeki 1.kareyi seçip actionscript panelini açıp şu kodları yazın.

var link:URLLoader = new URLLoader();
link.addEventListener(Event.COMPLETE, yukle);
link.load(new URLRequest("veriler.txt"));

function yukle(event:Event):void {
var metin:String = event.currentTarget.data;
kutu.htmlText = metin;
bar.update();
}

Veriler.txt dosyası ile swf dosyasını aynı dizinde tutmak kaydı ile filmi test edebilirsiniz.

Açıklama:

var link:URLLoader = new URLLoader();
link.addEventListener(Event.COMPLETE, yukle);
link.load(new URLRequest("veriler.txt"));

Üstteki kod grubu eski loadvars nesnesi kullanımının actionscript3 dilindeki yazlımıdır. Yani bir linkten veri yüklemek isterseniz önceden kullandığınız loadvariables,loadvars nesnesi kod grubu yerine üstteki klasik kodları kullanmak durumundasınız.var link:URLLoader = new URLLoader(); Önce link isimli bir değişkene yükleme yapacağı özellikleri atarsınız. link.load(new URLRequest("veriler.txt")); linke nereden verileri yükleyeceğinizi belirtirsiniz.Bu bizim yaptığımız gibi göreceli yok şeklinde olabileceği gibi Domain Name Registration and Web Hosting | Domain.com gibi mutlak bir yol da olabilir. link.addEventListener(Event.COMPLETE, yukle); yükleme işlemi tamamlandığında yukle isimli bir fonksiyon çalıştırılır.

function yukle(event:Event):void {
var metin:String = event.currentTarget.data;
kutu.htmlText = metin;
bar.update();
}

İlk dizine bakarsak: var metin:String = event.currentTarget.data; Metin isimli bir değişken oluşturulur ve hedef yoldaki yani link değişkenine yüklenen veriler bir string olarak bu değişkene yüklenir. kutu.htmlText = metin; Bu string html özelliği korunarak kutu isimli dinamik metin kutusuna aktarılır.Şayet html özelliğini kullanmak istemiyorsanız
kutu.text = metin; şeklinde de kullanabilirsiniz. bar.update(); Bu önemli bir koddur.Veri yüklenmesi zaman gerektirdiği için kod okunur okunmaz tamamı yüklenemeyebilir.Bu nedenle veriler tam yüklenene kadar devamlı update komutu çalışır.

Üstteki çalışmanın aynısını tamamen dinamik yöntemle oluşturmak

1- Flash programını açın ve component panelinden sahneye bir scrollbar sürükleyip bırakın, sonra sahnedeki bu bileşeni silip sahneyi boşaltın.

2- Anasahnedeki 1.kareye şu kodları yazıp filmi test edin:

import fl.controls.UIScrollBar;

var kutu:TextField = new TextField();
kutu.wordWrap = true;
kutu.width = 160;
kutu.height = 120;
kutu.border = true;
kutu.x = 10;
kutu.y = 10;
addChild(kutu);

var bar:UIScrollBar = new UIScrollBar();
bar.scrollTarget = kutu;
bar.height = kutu.height;
bar.move(kutu.x + kutu.width, kutu.y);
addChild(bar);

var link:URLLoader = new URLLoader();
link.addEventListener(Event.COMPLETE, yukle);
link.load(new URLRequest("http://www.flashdersleri.com/html_dosyalar/flash_cs3_components/veriler.txt"));

function yukle(event:Event):void {
var metin:String = event.currentTarget.data;
kutu.htmlText = metin;
bar.update();
}





Flash CS3 FLVPlayback Component:

Bu ilk bölümde en basit hali ile video dosyası çalıştırmayı daha sonra da player`ın özelleştirmesini göreceğiz.

Uygulama:

1- Flash programını açın, component panelinden bir FLVPlayback bileşenini sahneye sürükleyip istediğiniz bir alana bırakın.Bu arada göstermek istediğiniz flv dosyasının elinizde hazır olduğunu varsayıyoruz.

2- Sahneye yerleştirdiğiniz bileşeni tek tıklama ile seçin ve çalışma alanı alt kısmındaki parameters panelini açın.Buradan çalışmanın özelliklerini ayarlayacağız:

Align: Burada 8 seçenek görüyorsunuz. Bu seçenek sahneye bıraktığınız bileşenin bulunacağı yerleşimi gösterir.Varsayılan seçenek center seçeneğidir ve bileşen sahnenin tam ortasında konumlandırır.TopLeft seçeneğinde ise üst-sol köşeye göre konumlanır. Diğerlerini tahmin edebilirsiniz.

jj30pl.gif


AutoPlay: Film yüklendiğinde otomatik başlamasını istiyorsanız true seçeneğinde,manuel butona basarak çalıştırmak isterseniz false seçeneğini işaretleyin.

os99w8.gif


CuePoint: Çalışmaya bir işaret noktası eklemek için kullanılır. Bu işaret noktalarında çalışma sırasında eklenen özellik ortaya çıkartılır.Bu daha sonra Uygulamalar bölümünde anlatılacaktır. Üzerine çift tıklayarak ilgili paneli açabilirsiniz.

Preview: Çalışmanın önizleme bölümüdür. Öneündeki alana çift tıklarsanız preview paneli açılır.

2uy3aqu.gif


Buradaki export butonuna basarak istediğiniz kareyi png formatında kaydedebilirsiniz.

ScaleMode: Yüklenecek flv dosyasının ölçeklenmesini ayarlar.3 seçeneğiniz vardır.

egyc2f.gif


İlk seçenek sahneye yerleştirdiğiniz bileşenin en ve boyuna göre orjinal dosyanın en ve boy oranını koruyarak (yanlış yorumlamayın orjinal boyutu değil sadece orjinal en boy oranını koruyarak) yüklenir.noScale seçeneğinde ise orjinal boyutları ile yüklenir,exactFit seçeneğinde ise sahnedeki player ebadlarına göre ölçeklenir.

Skin: Player görüntüsünü ayarlayabilirsiniz. Önündeki boş alana çift tıklayarak seçenekleri açabilirsiniz.

288rwon.gif


Buradan seçtiğiniz swf dosyası filminizi yayınladığınızda ana çalışmanıza ait swf dosyasını hemen yanında oluşturulur. Yani bu video dosyasının 2 swf dosyası oluşur. Color kısmına dokunmayın , ayarlamayı daha sonraki seçeneklerde oluşturacağız.

SkinAutoHide: Varsayılan değeri false şeklindedir.True yaparsanız alttaki kontrol paneli film oynarken gözükmez.Ancak fare imleçi bu alana getirilirse gözlenir,çekildiğinde tekrar kaybolur.

SkinBackgroundAlpha: Varsayılan değeri 1 dir.0-1 arasında değerlendirilir.

qphwsx.gif


Biz 0.5 değerini kullandık.Control panelinin alfa değerini verir.

SkinBackgroundColor: Kontrol panelinin rengini oluşturur.

2lk5l6a.gif


Çalışmamızda kırmızı rengini kullandık.

Source: Flv dosyasının yolunu yazmalısınız.

21o4mma.gif


Alttaki seçenekleri temizletin.Aktif olan ilk seçeneği işaretli tutarsanız yüklenen flv dosyası orjinal boyutlarını korur.

Volume: 0-1 arası değerledirilir. Ses şiddetini ayarlar.

Component panelindeki diğer player bileşenlerini kullanarak video oynatıcısını özelleştirmek

Özel bir çalışma yapılmayacaktır.Sistem yine aynıdır.basit birkaç kod ve değişikliğe ihtiyaç vardır.Üstteki fla dosyanızı açıp önce şu değişikliği yapın. Parameters panelini açın ve buradaki skin kısmının önündeki alana çift tıklayın.

Üstte de resmini göreceğiniz gibi skin paneli açılır.Buradaki skin açılır menüsünden none seçeneğini işaretleyin. Bunu yaptığınız an alttaki kontrol paneli kaybolur. Bu alana component panelini açarak yerleştirmek istediğiniz video elemanlarını ekleyin.Burada dikkat etmeniz gereken şey her elemana properties panelinden bir isim eklemenizdir. İlk çalışmada yapılmayan PLVPlayBack bileşenine de bir isim atamalısınız. Son yapmanız gereken kodlarla player arasında ilinti kurmaktır. Örneğin sadece play,back ve forward butonu eklemişseniz 1.kareye şu kodları yazmalısınız.(FLVPlayback bileşen ismi videodosyası,back butonunun geri, play butonunun oynat, forward butonunun ileri olsun)1.kareye şu kodları yazıp filmi test edin:

videodosyası.playButton=oynat;
videoDosyası.backButton=geri;
videodosyası.forwardButton=ileri;


Kırmızı alanlar ilgili bileşen parçasının as3 dilindeki kod ismidir.

2cnhylt.jpg


Üstte kullanabileceğiniz video bileşen elemanlarını görüyorsunuz.İlk karakteri küçük harfle yazmak ve diğer karakterlere dokunmamak kaydı ile ilgili bileşenlerin kod ismini tesbit edebilirsiniz.Örneğin PlayPauseButton bileşeni için bu isim playPauseButton şeklindedir.

videodosyası.playPauseButton=bileşen_adi;

FLVPlaybackCaptioning isimli bir bileşenimiz ayrı başlık altında component panelinde sunulmuştur. Bu bileşen ile video dosyasına alt yazı eklenir.
Bu konu daha sonra uygulamalar bölümünde örnekleri ile anlatılacaktır.[/B]
 
çok güzel anlatım çok yararlı oldu
teşekkürler
 
Geri
Üst