2010-09-17 11 views
0

Je suis en train d'éditer un fichier actionscript 2.0, j'ai un fichier xml avec des URL d'images dans les nœuds et cela fonctionne.attacher un symbole sur la galerie de diapositives xml dans actionscript 2.0

J'ai un symbole avec id = 'mysymbol' dans la bibliothèque et il serait bien d'attacher 'mysymbol' sur la galerie pendant que d'autres images glissent.

i ont une scène empy, tout ce en tant que script 2.0 et xml:

import mx.transitions.Tween; 
import mx.transitions.easing.*; 

var myShowXML = new XML(); 
myShowXML.ignoreWhite = true; 
myShowXML.load("slideshow.xml"); 

myShowXML.onLoad = function() { 
    _root.myWidth = myShowXML.firstChild.attributes.width; 
    _root.myHeight = myShowXML.firstChild.attributes.height; 
    _root.mySpeed = myShowXML.firstChild.attributes.speed; 

    _root.myImages = myShowXML.firstChild.childNodes; 
    _root.myImagesNo = myImages.length; 

    createContainer(); 
    callImages(); 

}; 


function createContainer() { 
    _root.createEmptyMovieClip("myContainer_mc",1); 

    myContainer_mc.lineTo(_root.myWidth,0); 
    myContainer_mc.lineTo(_root.myWidth,_root.myHeight); 
    myContainer_mc.lineTo(0,_root.myHeight); 
    myContainer_mc.lineTo(0,0); 

    myContainer_mc._x = (Stage.width-myContainer_mc._width)/2; 
    myContainer_mc._y = (Stage.height-myContainer_mc._height)/2; 
} 

function callImages() { 

    _root.myMCL = new MovieClipLoader(); 
    _root.myPreloader = new Object(); 
    _root.myMCL.addListener(_root.myPreloader); 

    _root.myClips_array = []; 

    _root.myPreloader.onLoadStart = function(target) { 

     _root.createTextField("myText_txt",_root.getNextHighestDepth(),0,0,100,20); 
     _root.myText_txt._x = (Stage.width-_root.myText_txt._width)/2; 
     _root.myText_txt._y = (Stage.height-_root.myText_txt._height)/2; 
     _root.myText_txt.autoSize = "center"; 

     _root.myText_txt.text = "test"; 

    }; 

    _root.myPreloader.onLoadProgress = function(target) { 

     _root.myText_txt.text = "Loading.. "+_root.myClips_array.length+"/"+_root.myImagesNo+" Completed"; 

    }; 


    _root.myPreloader.onLoadComplete = function(target) { 

     _root.myClips_array.push(target); 
     target._alpha = 0; 

     if (_root.myClips_array.length == _root.myImagesNo) { 

      _root.myText_txt._y = myContainer_mc._y + myContainer_mc._height; 
      _root.target_mc = -1; 
      moveSlide(); 
      myShowInt = setInterval(moveSlide, (_root.mySpeed*1000)+1000); 


     } 

    }; 

    for (i=0; i<_root.myImagesNo; i++) { 

     temp_url = _root.myImages[i].attributes.url; 
     temp_mc = myContainer_mc.createEmptyMovieClip(i, myContainer_mc.getNextHighestDepth()); 

     _root.myMCL.loadClip(temp_url,temp_mc); 
    } 
} 


function moveSlide() { 

    current_mc = _root.myClips_array[_root.target_mc]; 
    new Tween(current_mc, "_alpha", Strong.easeOut, 100, 0, 1, true); 

    _root.target_mc++; 

    if (_root.target_mc>=_root.myImagesNo) { 
     _root.target_mc = 0; 
    } 

    _root.myText_txt.text = _root.myImages[target_mc].attributes.title; 
    next_mc = _root.myClips_array[_root.target_mc]; 
    new Tween(next_mc, "_alpha", Strong.easeOut, 0, 100, 1, true); 
} 

et le XML:

<slideshow width="886" height="334" speed="3"> 
    <image url="images/image1.jpg" title="Photo 1" /> 
    <image url="images/image2.jpg" title="Photo 2" /> 
</slideshow> 

Répondre

0

regard sur la méthode swapDepths() si vous avez besoin de re-empiler des articles dans AS2