Bu bölümde 2 checkBox ve bir button component kullanarak seçilen bir web sayfasını açma yönteminden bahsedilecektir.
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','150','height','140','title','checkBox Component','src','cs3_check','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','cs3_check' ); //end AC code
DOSYAYI İNDİR
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.