Metin görüntüleme

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Adobe Flash Builder ve Flash Professional gibi geliştirme araçları, metin görüntüleme için metinle ilgili bileşenler veya metin araçları da dahil olmak üzere birkaç seçenek sağlasa da, programlama yoluyla metin görüntülemenin en basit yöntemi bir metin alanı kullanmaktır.

Metin türleri

Bir metin alanındaki metnin türü, kaynağına göre belirlenir:

  • Dinamik metin

    Dinamik metin, bir metin dosyası, XML dosyası veya uzak web hizmeti gibi, harici bir kaynaktan yüklenen içeriği içerir.

  • Girdi metni

    Girdi metni, bir kullanıcı tarafından girilen herhangi bir metin veya kullanıcının düzenleyebildiği dinamik metindir. Girdi metnini formatlamak için bir stil sayfası ayarlayabilir veya girdi içeriği için metin alanına özellik atamak üzere flash.text.TextFormat sınıfını kullanabilirsiniz. Daha fazla bilgi için Metin girdisi yakalama bölümünü inceleyin.

  • Statik metin

    Statik metin yalnızca Flash Professional üzerinden oluşturulur. ActionScript 3.0'ı kullanarak bir statik metin örneği oluşturamazsınız. Ancak, varolan bir statik metin örneğini işlemek için StaticText ve TextSnapshot gibi ActionScript sınıflarını kullanabilirsiniz. Daha fazla bilgi için, bkz. Statik metinle çalışma.

Metin alanı içeriğini değiştirme

flash.text.TextField.text özelliğine bir dize atayarak dinamik metin tanımlayabilirsiniz. Aşağıdaki gibi, bir dizeyi doğrudan özelliğe atayabilirsiniz:

myTextField.text = "Hello World";

Ayrıca aşağıdaki örnekte olduğu gibi, text özelliğine, komut dosyanızdaki bir değişkenden bir değer de atayabilirsiniz.

package 
{ 
    import flash.display.Sprite; 
    import flash.text.*; 
 
    public class TextWithImage extends Sprite 
    { 
        private var myTextBox:TextField = new TextField(); 
        private var myText:String = "Hello World"; 
 
        public function TextWithImage() 
        { 
            addChild(myTextBox); 
            myTextBox.text = myText; 
        } 
    } 
}

Alternatif olarak, text özelliğine, uzak bir değişkenden bir değer atayabilirsiniz. Uzak kaynaklardan metin değerleri yüklemek için üç seçeneğiniz bulunmaktadır:

  • flash.net.URLLoader ve flash.net.URLRequest sınıfları, yerel veya uzak bir konumdan metin için değişken yükler.

  • FlashVars niteliği, SWF dosyasını barındıran HTML sayfasına gömülüdür ve metin değişkenleri için değerler içerebilir.

  • flash.net.SharedObject sınıfı, değerlerin kalıcı olarak saklanmasını yönetir. Daha fazla bilgi için, bkz. Yerel verileri saklama.

HTML metnini görüntüleme

flash.text.TextField sınıfı, metin dizenizi, içeriği formatlamak için HTML etiketleri içeren bir metin dizesi olarak tanımlamak için kullanabileceğiniz bir htmlText özelliğine sahiptir. Aşağıdaki örnekte olduğu gibi, Flash Player veya AIR uygulamasının metni HTML olarak oluşturması için dize değerinizi htmlText özelliğine (text özelliğine değil) atamanız gerekir:

var myText:String = "<p>This is <b>some</b> content to <i>render</i> as <u>HTML</u> text.</p>"; 
myTextBox.htmlText = myText;

Flash Player ve AIR, htmlText özelliği için bir HTML etiketi ve varlığı altkümesini destekler. ActionScript 3.0 Başvurusu'ndaki flash.text.TextField.htmlText özellik tanımı, desteklenen HTML etiketleri ve varlıkları hakkında ayrıntılı bilgiler sağlar.

htmlText özelliğini kullanarak içeriğinizi belirledikten sonra, içeriğinizin formatlamasını yönetmek için stil sayfalarını veya textformat etiketini kullanabilirsiniz. Daha fazla bilgi için, bkz. Metin biçimlendirme.

Metin alanlarında görüntü kullanma

İçeriğinizi HTML metni olarak görüntülemenin diğer bir avantajı, metin alanına görüntü ekleyebilmenizdir. img etiketini kullanarak yerel veya uzak bir görüntüye başvurabilir ve görüntünün ilişkili metin alanı içinde görünmesini sağlayabilirsiniz.

Aşağıdaki örnek, myTextBox adlı bir metin alanı oluşturur ve SWF dosyasıyla aynı dizinde saklanan ve bir göz içeren JPG görüntüsünü görüntülenen metne dahil eder:

package 
{ 
    import flash.display.Sprite; 
    import flash.text.*; 
 
    public class TextWithImage extends Sprite 
    { 
        private var myTextBox:TextField; 
        private var myText:String = "<p>This is <b>some</b> content to <i>test</i> and <i>see</i></p><p><img src='eye.jpg' width='20' height='20'></p><p>what can be rendered.</p><p>You should see an eye image and some <u>HTML</u> text.</p>"; 
 
        public function TextWithImage() 
        { 
            myTextBox.width = 200; 
            myTextBox.height = 200; 
            myTextBox.multiline = true; 
            myTextBox.wordWrap = true; 
            myTextBox.border = true; 
 
            addChild(myTextBox); 
            myTextBox.htmlText = myText; 
        } 
    } 
}

img etkiketi, JPEG, GIF, PNG ve SWF dosyalarını destekler.

Bir metin alanında kayan metin

Birçok durumda, metniniz, metni görüntüleyen metin alanından daha uzun olabilir. Veya bir kullanıcının bir defada görüntülenebilecek şekilde daha fazla metin girmesine olanak sağlayan bir girdi alanına sahip olabilirsiniz. Dikey veya yatay olarak uzun içeriği yönetmek için flash.text.TextField sınıfının kaydırma ile ilişkili özelliklerini kullanabilirsiniz.

Kaydırma ile ilişkili özellikler arasında, TextField.scrollV, TextField.scrollH ile maxScrollV vemaxScrollH bulunur. Fare tıklatması veya tuşa basılması gibi olaylara yanıt vermek için bu özellikleri kullanın.

Aşağıdaki örnek, belirli bir boyuta sahip olan ve alanın bir defada görüntüleyebileceğinden daha fazla metin içeren bir metin alanı oluşturur. Kullanıcı metin alanını tıklattığında, metin dikey olarak kayar.

package 
{ 
    import flash.display.Sprite; 
    import flash.text.*; 
    import flash.events.MouseEvent; 
 
    public class TextScrollExample extends Sprite 
    { 
        private var myTextBox:TextField = new TextField(); 
        private var myText:String = "Hello world and welcome to the show. It's really nice to meet you. Take your coat off and stay a while. OK, show is over. Hope you had fun. You can go home now. Don't forget to tip your waiter. There are mints in the bowl by the door. Thank you. Please come again."; 
 
        public function TextScrollExample() 
        { 
            myTextBox.text = myText; 
            myTextBox.width = 200; 
            myTextBox.height = 50; 
            myTextBox.multiline = true; 
            myTextBox.wordWrap = true; 
            myTextBox.background = true; 
            myTextBox.border = true; 
 
            var format:TextFormat = new TextFormat(); 
            format.font = "Verdana"; 
            format.color = 0xFF0000; 
            format.size = 10; 
 
            myTextBox.defaultTextFormat = format; 
            addChild(myTextBox); 
            myTextBox.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownScroll); 
        } 
 
        public function mouseDownScroll(event:MouseEvent):void 
        { 
            myTextBox.scrollV++; 
        } 
    } 
}