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.

DOSYAYI İNDİR

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.