Dinamik Yöntemle Metin Kutusu Özelliklerini Düzenleme


Bu çalışmada dinamik olarak bir metin kutusuna uygulanabilecek tüm yöntemler gösterilmeye çalışılmıştır.Alttaki swf dosyasının hazırlanması sırasında sahneye hiçbir çizim yapılmamış sadece actionscript kodları kullanılmıştır.

 

DOSYAYI İNDİR

Burada öğrenecekleriniz:

1- Dinamik yöntemle istenilen alanda istenilen boyutta metin kutusu oluşturmak

2- Metin kutusunun renk özelliklerini ayarlamak

3- Dinamik yazıyı HTML kodları ile oluşturmak

4- İstenilen adrese link vermek

5- Girilen karakterlerin özelliklerini ayarlamak

6- Dinamik yöntemle oluşturulan scroll`u metin kutusu ile ilişkilendirmek

7- Scroll`a ait renk ve görüntü özelliklerini ayarlamak

Animasyonu oluşturma :

1- Flash programını açtıktan sonra ana menüden Window-->Component yoluyla components panelini açalım.Buradan bir scrollBar elemanını sahneye sürükleyelim.Sonra sahnedeki bu scrollBar`ı seçip silelim.Bu durumda sahne boş olmasına rağmen kütüphaneyi açtığınızda bir scrollBar komponentinin bulunduğunu göreceksiniz.Bu işlemi yapmamızın tek nedeni daha sonra bu barı attachMovie yöntemi ile metin kutusuna tutturmak içindir.

 

Yukardaki resimde de gördüğünüz gibi scrollbar üzerine sağ klik yapıp Linkage seçeneğini tıkladığınızda flash tarafından otomatik olarak scrollbar`a FScrollBarSymbol instance name`inin atanmış olduğunu göreceksiniz.Bu ismi daha sonra kodlarda kullanacağız.

Sahnede yapılacak tek işlem budur.Bundan sonra sadece kod yazacağız.

2- Şimdi sahnedeki tek kareyi seçip şu komutları atayalım:

//Dinamik metin kutusu ve özellikleri ayarlanıyor.
this.createTextField("txt1",1,10,10,100,100);
txt1.type="dynamic";
txt1.border = true;
txt1.borderColor=0x009999;
txt1.background=true;
txt1.backgroundColor=0xFFE8E0;
txt1.html = true;
txt1.wordWrap=true;

metin1="<a href=\"http://www.google.com\" target=\"_blank\"><p align=\"center\"><font color =\"#669999\" size = \"14\" face=\"Times New Roman\">Google</a></font><br>";

metin2="<a href=\"http://www.altavista.com\" target=\"_blank\"><font color =\"#FF0000\" size = \"14\" face=\"Times New Roman\"><b>Altavista</a></font></b><br>";

metin3="<a href=\"http://www.yahoo.com\" target=\"_blank\"><font color =\"#FF9966\" size = \"14\" face=\"Times New Roman\" ><u>Yahoo</font></a></u><br>";

metin4="<a href=\"http://www.netbul.com\" target=\"_blank\"><font color =\"#0000FF\" size = \"14\" face=\"Times New Roman\" ><b><i>Netbul</a></font></i></b><br>";

metin5="<a href=\"http://www.turkvista.com\" target=\"_blank\"><font color =\"#000000\" size = \"14\" face=\"Times New Roman\"><u>Turkvista</a></font></u><br>";

metin6="<a href=\"http://www.arabul.com\" target=\"_blank\"><font color =\"#FF00FF\" size = \"14\" face=\"Times New Roman\"><b>Arabul</a></font></b><br>";

txt1.htmlText=metin1+metin2+metin3+metin4+metin5+metin6;

//Scrollbar ile metin kutusu ilişiklendiriliyor.
this.attachMovie("FScrollBarSymbol","scroller1",2);
scroller1.setScrollTarget(txt1);
scroller1.setSize(txt1._height);
scroller1._x=txt1._x+txt1._width;
scroller1._y=txt1._y;

//Scrollbarın renk özellikleri ayarlanıyor.
globalStyleFormat.scrollTrack = 0xCCCCCC;
globalStyleFormat.darkshadow = 0x333300;
globalStyleFormat.shadow = 0x99cc00;
globalStyleFormat.highlight3D = 0x333300;
globalStyleFormat.highlight = 0x99cc00;
globalStyleFormat.face = 0x009999;
globalStyleFormat.background = 0xffffff;
globalStyleFormat.text = 0x000000;
globalStyleFormat.radioDot = 0x333300;
globalStyleFormat.check = 0x333300;
globalStyleFormat.arrow = 0x333300;
globalStyleFormat.applyChanges();
stop();

3- Hepsi bu.Şimdi filmi test edebilirsiniz.

Kodların açıklaması :

this.createTextField("txt1",1,10,10,100,100); Bu komutla dinamik bir metin kutusu oluşturulur.Parantez içi şu şekilde yazılır:

(instance name,derinlik,_x düzlemi,_y düzlemi,en,yükseklik)

İkinci dizinde metin kutusu tip olarak dinamik kutu seçimi yapılır.

Üçüncü dizinde border oluşturulup, dördüncü dizinde renk ayarı yapılır.

Beşinci dizinde arkaplan olduğu tanımlanıp altıncı dizinde renk ayarı yapılır.Diğer dizinlerde HTML ve sözcük kaydırma özelliği verilir. Bu komutlarla dinamik metin kutusunun ayarları ve oluşumu tamamlanır.Bu kodlar dışında metin kutusu ile ilgili diğer kodları programın yardım bölümünde bulabilirsiniz.

2.sıradaki kod grubu HTML özelliğini kullanarak metin kutusunda karakter oluşturma, bu karakterlerin özelliklerini atama ve link verme işlemini yapar.Yukardaki kodlarla 6 tane link oluşturulmuş ve sıra ile metin1,metin2.....metin6 adındaki değişkenlere atanmıştır.Burada tek belirtilecek tag <br> tagıdır.Bunun sayesinde cümleler altalta sıralanırlar. Flash`ın HTML desteğinin HTML1 ile sınırlı olduğunu unutmamakta yarar var.Bu formata ait tüm taglar yukardaki çalışmada kullanılmıştır.

txt1.htmlText=metin1+metin2+metin3+metin4+metin5+metin6; komutu ile de dinamik olarak ayarlanan linkler html özelliği korunarak dinamik metin kutusuna yazdırılır.

3.kod grubu:

this.attachMovie("FScrollBarSymbol","scroller1",2); komutu ile başlar.Bu komutlarla kütüphanedeki en başta anlattığımız yöntemle oluşturulan scrollbar sahneye tutturulur.Parantez içine önce scrollbar klibinin identifier adı, sonra tutturulan klibe verilen ad,en sonrada derinlik değeri yazılır.level1 de dinamik metin kutusu olduğundan scrolbar levelı 2 veya daha üst bir değere ayarlanmalıdır.

scroller1.setScrollTarget(txt1); İnstance name`i az evvel scroller1 olarak oluşturulan scrollbar txt1 adlı metin kutusuna ayarlanır.

scroller1.setSize(txt1._height); Bu komutla scroll`un boyu metin kutusunun boyu ile eşleştirilir.

scroller1._x=txt1._x+txt1._width; Burada oluşturulacak scroll`un x lokalizasyonu düzenlenir.txt1 kutusunun x değeri sol üst köşedir.Bu durumda scroll`un tam sağ kenarda oluşmasını istiyorsanız bu x değeri ile metin kutusunun sağa doğru olan en değerini toplamalısınız.Şayet kaydırma çubuğunun sol tarafta olmasını isterseniz txt1._x yazmanız yeterli olacaktır.

scroller1._y=txt1._y; y lokalizasyonu her ikisinde de aynı olduğundan sadece metin kutusunun y değerini scroll`a atamanız yeterli olacaktır.

4.kod grubunda kaydırma çubuğunun renk özellikleri düzenlenmektedir.

globalStyleFormat komutu ile başlayan bu renklendirmenin tek bir scroll`a değil, sahnede kullanılan tüm scroll`lar için geçerli olduğunu unutmayınız.Yalnız birden fazla sahne kullanıyorsanız diğer sahneler için bu tanımlamalar geçerli değildir.

Şayet bu konu ile ilgili daha detaylı bilgi istiyorsanız yardım bölümüne bakınız.Programa ait yardım bölümünde bu konu ile ilgili son derece basit anlatımla tanımlanmış çok değerli bilgilere sahip olabilirsiniz.