• User

    aiuto codice As3

    Ciao a tutti,
    ho trovato in rete un sorgente fla free per una slideshow con xml dove le immagini assumono le dimensioni dello stage, vorrei chiedervi se qualcuno mi sappia aiutare a mostrare le immagini nele dimensioni effettive al centro delo stage che ovviamente sara' piu' grande delle stesse.

    Questo è il codice:

    // Importo tutte le classi necessarie a gestire le transizioni.
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    import fl.transitions.TweenEvent;
    // Dichiaro tutte le variabili GLOBALI
    var GLOBALslideCount:int = 0;
    var GLOBALslideNum:int = 0;
    var GLOBALslideList:XMLList;
    var GLOBALslideArray:Array = new Array();
    // Carico il file XML
    var xmlLoader:URLLoader = new URLLoader();
    var xmlRequest:URLRequest = new URLRequest("Slideshow.xml");
    xmlLoader.addEventListener(Event.COMPLETE, createList);
    xmlLoader.load(xmlRequest);
    // Leggo l'XML caricato e creo la lista delle diapositive
    function createList(e:Event) {
    var xml:XML = new XML(e.target.data);
    GLOBALslideList = new XMLList(xml.slide);
    GLOBALslideCount = GLOBALslideList.length();
    loadImage();
    }
    // Funzione che inizia il caricamento della prossima immagine
    function loadImage(){
    var imgLoader:Loader = new Loader();
    var imgRequest:URLRequest = new URLRequest(GLOBALslideList[GLOBALslideNum].imgUrl)
    //trace(GLOBALslideList[GLOBALslideNum].imgUrl)
    imgLoader.contentLoaderInfo.addEventListener(Event.INIT, showImage);
    imgLoader.load(imgRequest)
    }
    // Funzione che fa comparire l'immagine sullo Stage
    var showTween;
    function showImage(e:Event) {
    var foto:Bitmap = e.target.content;
    foto.width = stage.stageWidth;
    foto.height = stage.stageHeight;
    showTween = new Tween(foto, 'alpha', None.easeNone, 0, 1, 1, true)
    showTween.addEventListener(TweenEvent.MOTION_FINISH, wait)
    GLOBALslideArray.push(addChild(foto))
    if (GLOBALslideArray.length>2){
    removeChild(GLOBALslideArray[0]);
    GLOBALslideArray.shift()
    }
    }
    // Funzione che gestisce l'attesa tra una foto e la successiva
    function wait(te:TweenEvent){
    var seconds = GLOBALslideList[GLOBALslideNum].imgTime;
    if (isNaN(seconds)||seconds<0.01){
    seconds=0.01;
    }
    removeChild(title_txt)
    title_txt.text = GLOBALslideList[GLOBALslideNum].imgTitle;
    addChild(title_txt)
    removeChild(timebar_mc)
    var waitTween:Tween = new Tween(timebar_mc, 'scaleX', None.easeNone, 0, 1, seconds, true);
    waitTween.addEventListener(TweenEvent.MOTION_FINISH, nextImage)
    addChild(timebar_mc)
    }
    // Funzione che incrementa il numero dell'imagine da visualizzare e richiama loadImage
    function nextImage(te:TweenEvent){
    GLOBALslideNum++;
    if(GLOBALslideNum>=GLOBALslideCount){
    GLOBALslideNum=0;
    }
    loadImage()
    }

    Grazie in anticipo.


  • Super User

    Ciao queste sono le due righe che danno alle foto caricate le dimensioni dello stage prova a commentarle e vedi cosa succede.

    
    foto.width = stage.stageWidth;
    foto.height = stage.stageHeight;
    
    

  • User

    Ciao Nhatan e grazie della risp, solo che non capisco cosa intendi per commentarle!:(
    Ho provato a cercare nei vari tutorial le proprieta' possibili da abbinarci ma non sono riuscito a caopire come fare ad eliminare il fatto dello stageWidth!


  • Super User

    Così sono commentate quindi inattive.

    
    //foto.width = stage.stageWidth;
    //foto.height = stage.stageHeight;
    
    

  • User

    le foto non assumono piu' la grandezza dello stage ma vengono posizionate a casaccio da come ho visto....:gtsad:

    vorrei allegare il pacchetto ma non riesco!! spero tu possa darmi una mano....io vorrei che venissero mostrate tutte al centro dello stage, ognuno con la grandezza reale della foto!!
    grazie ancora!!


  • Super User

    Hai scritto che è una gallery free metti il link che vedo se riesco a combinare qualcosa.


  • Super User

    Hai scritto che è una gallery free metti il link che vedo se riesco a combinare qualcosa.
    PS. anzi prima prova a sostituire le 2 stringhe originali con queste.

    
    foto.x = stage.stageWidth/2;
    foto.y = stage.stageHeight/2;
    
    

  • User

    Ciao nhatan eccoti il link: è un tutorial...

    psdrevolution . it / forum/ topic/34969-slideshow-in-actionscript-3-xmltween/page__p__4605

    è un altro forum...ed io non so se sto sbagliando, se cosi fosse spero mi correggiate cosi da imparare per le prossime volte!

    Grazie in anticipo!


  • Super User

    Il sito è in aggiornamento non mi fa registrare e di conseguenza scaricare il file, hai provato a sostituire le due stringhe che ho messo sopra?


  • User

    Ciao Nhatan...ho provato ma il risultato è ancora piu' sballato di prima:(!!
    Io il pacchetto completo ce l'ho se ti serve....e comunque grazie ancora!


  • Super User

    Non hai un hosting magari su altervista per poterlo scaricare?


  • User

    potrei inviartelo via mail se per te va bene!


  • Super User

    Ok, trovi la mail nella firma.


  • User

    Ciao Nhatan, scusami il ritardo ma sono stato abbastanza incasinato...sono riuscito a metterlo in rete cosi da poterlo scaricare e percio' ti scrivo il link:

    h t t p : / / w w w . angelinfiore . it / Archivio.zip
    CCio' che vorrei ottenere è che le immagini compaiano al centro dello stage mantenendo le proporzioni e dimensioni originali....o almeno mantenedo le proporzioni...anche se le dimensioni siano decse dallo stage!

    Grazie ancora!