İndireceğiniz fla dosyasında sadece sanal klavyenin
kullanım tekniğini bulacaksınız. Sayfadaki swf dosyasından ise
bana mail gönderebilirsiniz.Karışıklığa yol açmamak için fla dosyasındaki
mail gönderme özelliğini kaldırdım.Sadece klavyeyi kullanabileceksiniz.
Bu dosyayı herhangibir cgi dosyası ile ilişkilendirebilirsiniz.Buna
ait bir örneği cgi aracılığı ile formmail gönderme
başlığı altında bulabilirsiniz.
Sanal klavye kullanımı:
1- Hangi alanı doldurmak istiyorsanız
önce o alana ait seçeneği önce işaretleyip sonra sanal klavyeyi
kullanmalısınız.Ayrıca sanal klavye kullanmadan da formu doldurabilirsiniz.
2- Büyük- küçük harf seçimi
yapabilirsiniz.
3- Boşluk ve 2 adet noktalama
işareti ve @ işaretini kullanabilirsiniz. Bu elemanların sayısını
isterseniz artırabilirsiniz.
4- Klavyedeki Sil butonu hatalı
yazımlar için eklenmiştir. Her basmada sadece tek bir karekteri
siler.
1- Flash içinde veya örneğimizde
olduğu gibi yardımcı programlar aracılığı ile oluşturduğunuz klavye
resmini flash içine alın.
2- Sahnenin sol tarafına 3 adet
input kutu yerleştirin ve instance name alanlarına sırası ile: isim, mail, mesaj
yazın.
3- Klavye üzerindeki alana components
panelinden 3 adet radiobuton yerleştirin. properties
panelinde label kısmına tıklayarak radiobutonların adını isim,
email ve mesaj şeklinde değiştirin.
Bu butonlara sıra ile kutu1, kutu2
ve kutu3 variable adını verin.
4- Klavye tuşları boyutunda
görünmez bir buton oluşturun.Bunun için dikdörtgen aracı ile tuşların
boyutunda bir dikdörtgen çizin ve bunu seçerek F8 tuşuna basıp
button seçeneğini işaretleyin.Bu butonu tıklayarak açın sadece
hit alanında çizim bulunmasını diğer kısımların boş kalmasını
sağlayın.Bunları sıra ile tüm tuşlar üzerine yerleştirin.Büyük
tuşlar varsa görünmez butonun boyutunu free transform aracı ile
büyültebilirsiniz. Şayet butonlara tıklandığında bir ses oluşmasını
isterseniz bu görünmez butonun down alanını seçip uygun bir ses
dosyasını sahneye sürüklemeniz yeterli olacaktır.
5- Şu anda tüm görüntü hazır.
Sahnede mevcut olan tüm elemanları seçin (bunun için timelinedaki
mevcut tek kareyi seçmeniz yeterlidir) F8 tuşuna basarak sahnedeki
tüm elemanları bir film klibi haline getirin.
6- Şimdi kodları ekleyelim.
Sahnede az evvel oluşturduğumuz klibi seçip şu komutları atayalım:
onClipEvent (enterFrame)
{
var harf_tipi;
var rakam;
if (this.kutu1.getState() == true) {
rakam=isim;
} else if (this.kutu2.getState() == true) {
rakam=mail;
} else if (this.kutu3.getState() == true) {
rakam=mesaj;
}
}
burada harf_tipi(büyük-küçük harf için) ve rakam
( seçilecek metin kutusunu gösterecek) adında ilerde kullanacağımız
2 lokal değişken oluşturuyoruz.
if (this.kutu1.getState() == true) dizini sahnedeki
hangi radiobutonun seçili olduğunu yani sanal klavye ile hangi
metin kutusuna yazacağımızı belirleyecektir. Hangi radiobuton
seçilmiş ise rakam değişkeni input metin kutularından birinin
adını alacaktır.
enterFrame seçeneğini kullandığımızdan yukardaki
komutlar daima tetiklenmiş olacak ve sanal klavyeyi kullanırkan
buradaki değerler daima güncel kalacaktır.
7- Şimdi film klibimize çift
tıklama yaparak içine girelim.Az evvel sanal klavyemizin tuşlarına
görünmez butonlarımızı yerleştirmiştik.
Rakam tuşları için her butona şu komutları verelim:
on (press) {
yazi="1";
rakam.text+=yazi
}
Doğal olarak buradaki 1 rakamı diğer tuşlarda
değişecektir." rakam.text+=yazi" daha öncede belirttiğim
gibi buradaki rakam değeri seçilen radiobutona bağlı olarak isim,
mail veya mesaj olabilir.Böylece her tıklamada bu 3 input kutudan
seçilene 1 yazısı eklenecektir.
Büyük ve Küçük harf butonu:
Büyük harf için:
on (press) {
harf_tipi=1;
}
Küçük harf için:
on (press) {
harf_tipi=0;
}
Bu değişkenleri daha sonra kullanacağız.
Harfler için:
on (press) {
yazi="w";
if (harf_tipi==1) {
rakam.text+=yazi.toUpperCase();
} else if (harf_tipi==0||harf_tipi==null) {
rakam.text+=yazi.toLowerCase();
}
}
Yukardaki komutlarla seçilen metin kutusuna ilgili harfi eklemek
mümkün olur. Şayet daha önceden büyük harf butonuna basılı ise
harf_tip değişkeni 1 rakamına ayarlanacak ve bu durumda yazı yazi.toUpperCase()
eklentisi nedeni ile büyük harf ile yazılacaktır.
Şayet küçük harf butonuna basılmışsa veya en
başından itibaren büyük-küçük harf tuşları hiç kullanılmamışsa(
bu durumda harf_tip değişkeni boş olacaktır) harf_tipi==0||harf_tipi==null
sorgusu ile yazı küçük harfe ayarlanacaktır.
Boşluk butonu:
on (press) {
yazi=" ";
rakam.text+=yazi
}
dendenler arasında 2 karakter boşluk bırakmanız
yeterli olur.
Sil butonu:
Bu butonun amacı yazım sırasında hata yapılmışsa
o karakteri silmektir.Yani her tıklamada en sondaki tek karekteri
siler:
on (press) {
kelime=new String();
kelime=rakam.text;
sonharf=kelime.substr(0,kelime.length-1);
rakam.text=sonharf;
}
yukardaki dizinlerde yapılmak istenen o anda
metin kutusundaki yazıyı tespit edip substr eklentisi ile son
harf hariç diğer harfleri alıp yeniden metin kutusuna atamaktır.
Bu yeni atama ile son karakter yazıdan çıkartılmış olacaktır.
Evet, herşey hazır artık filmi test edip sanal
klavyemizi kullanabiliriz.