Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


ACTIONSCRIPT ILE XML TABANLI MENU

Yazar: Yusuf Akgül

Kategori: Action Script

Eklenme Tarihi: 21.08.2007 20:17:27

Merhaba arkadaşlar bu makalede sizlere Action Script Kullanarak XML bir dökumandan aldığımız Bilgilere Göre Flash ile web menüler oluşturacağız.
                            ACTION SCRIPT ILE XML TABANLI DINAMIK MENU UYGULAMASI
Kullanacağımız  XML  dosyasını  notepad'de aşağıdaki  gibi oluşturup kaynak.xml olarak kaydediyoruz.


Note pad’de oluşturmuş olduğunuz bu dosyayı kaynak.xml olarak kaydediyoruz. Artık XML tarafında işimiz bitti.şimdi Macromedia Flash 8’i açıyorum.

2- karşımıza çıkan stage’in boyutlarını 200*500 yapıyoruz.4 adet layer ekliyoruz



 

3-daha sonra layer’iyi secili hale getirip ilk frame seçili iken stage uzerine 200*500 boyutlarında tum stage’ı kaplayacak şekilde bir shape çiziyoruz. Eklediğimiz shape’in uzerinde sağ tıklayarak


4-Şimdi menumüzü hazırlayalım. Öncelikle flash bilginizin olması bu kısmın anlaşılması açısından çok önemlidir.layer2 uzerindeki ilk frame’i secelim ve textTool aracı ile Menu adında bi yazı yazalım. Ardından sağ tıklayıp convert to Symbol diyelim ve movie clip seçeneyini seçelim Ok diyelim
Ve movi clip’e menum adını verelim ve menu clip seçili iken instance name'ine baseLink diyoruz.

5-Şimdi sıra geldi menumuze efekt vermeye.. bunun için menum adlı movi clip uzerine çift tıklayalım ve içerisine girelim.

Aşağıda göstermiş olduğum layerları oluşturalım.


Şimdi sırasıyla şu işlemleri yapalım

1- Layer1’in ilk frame’ine gelelim ve aşağıdaki şekli çizelim ve onuda bir moviclip’e dönüştürelim adınıda TıklamaAlanı olarak verelim.


· Ardından layer2’nin 1. frame’i uzerine gelelim ve textTool aracı ile menu yazalım ve aynı şekilde sağ tıklayıp onuda movie clip’e cevirelip adını da TextWordsShad olarak verelim.
Bu alanında instance name’ini TextLinkShadow olarak verelim gölge amacıyla kullanacağız

2-Layer3’un ilk frame’ine bir tooltext aracı ile Menu yazısı yazalım yalnız renk olarak layer2 ‘dekinden farklı bir renk kullanalım. Bunuda movie clip’e çevirelim ve instance name olarak TextLink verelim.

Şimdi sıra geldi Text i efektle hareket ettirmeye bunun içinde layer3’e ait timeline uzerine aşağıdaki gibi motion tween efekti verelim.(0-19 framleler arası)

şekildeki gibi motion twen efekti verilir

Şimdi sıra geldi men unun yanlarında ki çıkan küçük oku oluşturmaya. Bunun için layer4’ ü kullandım. Ve layer4’ün ilk frame’ine dilediğim şekilde çok ufak bi okcuk çizdim ve aşağıdaki timeline’ı layer4 için oluşturdum.
 0-10 nolu frameler arasını kullandım.

· Şimdi sıra geldi beklide en güzel yere.burada layer5’i kullanarak time line uzerindeki framelerin gorunme şekillerini action kullanarak yapacaz.

Öncelikle: 0-19 nolu frame’ler arasını kullanacağım için burayı ayırıyorum.
Layer5’in ilk frame’i seçili iken aşağıdaki action codlamasını yapıyorum



Burada Mouse ile uzerine gelindiğinde2. frame’e gidilecek ve sonra 1. frame’e gidip orda kalacak anlamına gelir.
Ardından layer5’in 2. frame’inin üzerine gelip


Buda timeline ‘da 10. frame’e konumlanmayı sağlar.

  1. frame uzerine gelip

gotoAndStop(9); kodlamasını yaparız bölece durmasını sağlarız
19. frame dede gotoAndPlay(1); yazarak tekrar olayların başa dönmesini sağlarız
Tüm bu işlemler sonunda layer5’in timeline daki durumu şekildeki gibi olur.

Sıra geldi menuye url eklemeye bunun içinde layer6 yı kullandım.
0-19 nolu frame’ler arasına aşağdaki kodlamayı yaptım

Son olarak hazırlamış olduğum menu için moviclip şekildeki gibi gozukur.


Şimdi ana stage’e geri donuyoruz

Karşıma şekildeki görüntü çıkacak.



Burada layer3’un 2. ve XML yukle layer’ınında 1. frame’ine action kodları yazılmış.

XML yukle deki actions’ı açıklayalım,

var yPos = 20;// menun stage uzerindeki pozisyonu yukarıdan 20px

var depthCount =2;//inilecek nod derinliği

var linksXML = new XML(); //linkler burada tutulacak

linksXML.ignoreWhite = true;

linksXML.load("kaynak.xml");//kaynaktan yukleme yapılmasısağlandı

linksXML.onLoad = checkLoading;//yukleme için fonksiyon degeri aktarılıyor.

function checkLoading(success) {

if (success == true) {

var rootNode = linksXML.firstChild;//ilk root alındı

var total = rootNode.childNodes.length;//toplam çocuk rootların uzunluğu yani alt menu

var tLink = rootNode.firstChild;//ilk root yuklendi

for (i=0;i<total;i++) {

createLink("tLink" + i, tLink);//ana rootlara ait menu olusturuluyor.

var totalInner = tLink.childNodes.length;

var tnLink = tLink.firstChild;

for (j=0;j<totalInner; j++){

createLink("tnLink" + j + ""+ i, tnLink);// altmenuler olusturuluyo

tnLink = tnLink.nextSibling;

}

tLink = tLink.nextSibling;

}

gotoAndStop(2);

}

}

// bu fonksiyonla menu ve alt menuleri olusturduk.

function createLink(newObj, aNode){

duplicateMovieClip(_root.baseLink, newObj, depthCount++);

var tcl = eval(newObj);

tcl.aLink = aNode.attributes.ref;

yPos +=30

if (aNode.nodeName == "menu"){

setName(tcl, aNode.attributes.name, 1);

tcl._x = 50;

}

else{

setName(tcl, aNode.attributes.name, 0.95);

tcl._x = 60;

}

tcl._y = yPos;

}

gotoAndStop(1);

function setName(obj, theName, Size){

obj._height = obj._height*Size;

obj._width = obj._width*Size;

obj.TextLink.BoxName.text = theName;

obj.TextLinkShadow.BoxName.text = theName;

obj.embedFonts = true;

}

Layer3’un de 2. frame’ine aşağıdaki kodlamayı yaptım.

duplicateMovieClip(_root.text2, "text4", 4);//kopyaladım

text4._y-=30;

setName(text4, "Nada");// Font isimi verdim

setName(text2, "Todo");//Font isim verdim


Arkadaşlar  projenin  tamamına  buradan
ulaşabilirsiniz
Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.