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!

• 13 yıl önce
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..
• 13 yıl önce
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()");
• 12 yıl önce
SÜPER Bİ SİTE:D
• 12 yıl önce
konuyu daha çok açarmsın? lüten :hayret::-dusun:
• 11 yıl önce
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