Actionscript ve XML ile Flash Menü Uygılaması

Arkadaşlar bu dersimizde XML ile Actionscript etkileşimini göreceğiz.

Arkadaşlar bu dersimize XML hakkında bilginizi olduğunu farzederek başlıyacağım.
Bildiğiniz gibi XML dilinin birçok kullanım alanı var.Bizede sağladığı kolaylıkları az çok bilirsiniz.

Neyse artık yavaş yavaş menümüze başlayalım.

Bu XML kodları Menümüz için.Bu kodları Notpade yapıştırıp .xml olarak kaydedebilirsiniz.


xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>

<links>

<link name="Main" ref="anasayfa.html"/>

<link name="Resim ve Video" ref="#">

    <inLink name="Resim Galeri" ref="resimler.html"/>

    <inLink name="Photoshop.html" ref="photoshop.html"/>

</link>

<link name="Program" ref="#">

    <inLink name="XML flash tutorial" ref="xmlflash.html"/>

    <inLink name="Flash Oyun" ref="flashoyun.html"/>

</link>

<link name="3D Tasarım" ref="#">

    <inLink name="Blender 3D" ref="blender.html"/>

    <inLink name="3D Studio" ref="3dStudio.html"/>

    <inLink name="Lightwave" ref="lightwave.html"/>

</link>

    <link name="+" ref="photo.html"/>

    <link name="LW Plugin" ref="tvplugin.html"/>

</links>




Şu ana kadar flash ile uğraşanlar menülerin nasıl yapıldığını bildiklerini düşünüyorum ve menü yapımını anlatmıyorum.

Direkt menümüz için ActionScriptimizi yazmaya başlayalım.XLM için bi layer oluşturup Action paneline aşağıdaki scriptimizi yazalım.


var yPos = 20;

var depthCount = 1;

var linksXML = new XML();

linksXML.ignoreWhite = true;

linksXML.load("links.xml");

linksXML.onLoad = checkLoading;



function checkLoading(success) {

    if (success == true) {

        var rootNode = linksXML.firstChild;

        var total = rootNode.childNodes.length;

        //Load the links Text

        var tLink = rootNode.firstChild;

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

            createLink("tLink" + i, tLink);

            var totalInner = tLink.childNodes.length;

            var tnLink = tLink.firstChild;

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

                createLink("tnLink" + j + ""+ i, tnLink);

                tnLink = tnLink.nextSibling;

            }

            tLink = tLink.nextSibling;

        }

        gotoAndStop(2);

    }

}



function createLink(newObj, aNode){

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

    var tcl = eval(newObj);

    tcl.aLink = aNode.attributes.ref;

    yPos +=30

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

        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;

    //obj.TextLinkShadow._alpha = 20;

}



Anlatımın uygulamasını incelemek için dosyayıburadan indirebilirsiniz

Hepinize kolay gelsin...
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

arkadaşlar kolay gelsin..actionscript kodu var elimde, biri bana ne anlama geldiğini anlatabilir mi..kodu bir sonraki maile yazdım..teşekkürler..
String.prototype.noCache = function() { return _url.substr(0, 4) != "file" ? ((this + "?") + new Date().getTime()) : this; }; myPhoto = new XML(); myPhoto.ignoreWhite = true; myPhoto.onLoad = function(success) { var Register_1_ = this; numimages = Register_1_.firstChild.childNodes.length; spacing = 70; i = 0; while (i < numimages) { Register_1_.picHolder = Register_1_.firstChild.childNodes[i]; Register_1_.thumbHolder.title = Register_1_.picHolder.attributes.title; title_txt.text = Register_1_.firstChild.childNodes[0].attributes.title; title_txt1.text = Register_1_.firstChild.childNodes[1].attributes.title; title_txt2.text = Register_1_.firstChild.childNodes[2].attributes.title; title_txt3.text = Register_1_.firstChild.childNodes[3].attributes.title; title_txt4.text = Register_1_.firstChild.childNodes[4].attributes.title; i++; } }; myPhoto.load(""xmlphoto.xml".noCache()");
SÜPER Bİ SİTE:D
konuyu daha çok açarmsın? lüten :hayret::-dusun:
ignoreWhite: true olursa xml'deki boşlukları görmezden gelir. yani xml'ini şu şekilde yazmaktan kurtarır seni: ------- <links><link name="Main" ref="anasayfa.html"/><link name="Resim ve Video" ref="#"><inLink name="Resim Galeri" ref="resimler.html"/><inLink name="Photoshop.html" ref="photoshop.html"/></link><link name="Program" ref="#"><inLink name="XML flash tutorial" ref="xmlflash.html"/><inLink name="Flash Oyun" ref="flashoyun.html"/></link><link name="3D Tasarım" ref="#"><inLink name="Blender 3D" ref="blender.html"/><inLink name="3D Studio" ref="3dStudio.html"/><inLink name="Lightwave" ref="lightwave.html"/></link><link name="+" ref="photo.html"/><link name="LW Plugin" ref="tvplugin.html"/></links> ------ Kolay Gelsin

Yukarı Git