Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Ashry
    Registrato dal
    Jul 2002
    Messaggi
    586

    ActionScript 3.0 variabili e funzioni

    Ciao a tutti, sto cercansdo di creare una gallery con effetto maschera usando AS3 ma ho qualche problemino ^-^, io vorrei utilizzare delle variabili in cui inserire il nome dell'immagine da caricare e dell'immagine appena caricata per poi utilizzarle nella funzione di "sostituzione" delle immagini, ma non riesco a capire come fare a passare i nomi e come fare a richiamare le due funzioni.

    Vi posto il codice

    Inanzi tutto carico l'ultima immagine come sfondo e faccio comparire la prima

    codice:
    import flash.display.Loader;
    import flash.net.URLRequest;
    
    var NewImg:String;
    var OldImg:String;
    
    
    
    if (OldImg == null) {
    	OldImg = "img12.jpg";
    	var requestUrl:URLRequest = new URLRequest(OldImg);
    	var loader:Loader = new Loader();
    	loader.load(requestUrl);
    	OldImgBox.addChild(loader);
    
    }
    
    if (NewImg == null ) {
    	NewImg = "img01.jpg";
    	var requestUrl1:URLRequest = new URLRequest(NewImg);
    	var loader1:Loader = new Loader();
    	loader1.load(requestUrl1);
    	NewImgBox.addChild(loader1);
    }
    non so se è giusto ma pensavo di creare due funzioni una per la nuova immagine e l'altra per quella già caricata

    codice:
    function loadNew() {
    
    	var requestUrlNew:URLRequest = new URLRequest(NewImg);
    	var loaderNew:Loader = new Loader();
    	loaderNew.load(requestUrlNew);
    	NewImgBox.addChild(loaderNew);
    }
    
    function loadOld() {
    	var requestUrlOld:URLRequest = new URLRequest(OldImg);
    	var loaderOld:Loader = new Loader();
    	loaderOld.load(requestUrlOld);
    	OldImgBox.addChild(loaderOld);
    }
    queste sono le azioni associate al pulsante nelle quali vorrei richiamare le funzioni per cambiare l'immagine

    codice:
    function eventResponseImg01(event:MouseEvent):void {
    	//gli dico quale immagine deve caricare
    	NewImg = "img01.jpg";
    	//evidenzio il nome dell'immagine
    	focus_mc.x=222;
    	//qui dovrei caricare l'immagine nuova e quindi far ripartire la maschera
    	mask_mc.gotoAndPlay(1);
    	//"archivio" il nme di questa immagine per usarla come "sfondo"
    	OldImg = "img01.jpg";
    }
    
    function eventResponseImg02(event:MouseEvent):void {
    	//gli dico quale immagine deve caricare
    	NewImg = "img02.jpg";
    	//evidenzio il nome dell'immagine
    	focus_mc.x=222;
    	//qui dovrei caricare l'immagine nuova e quindi far ripartire la maschera
    	mask_mc.gotoAndPlay(1);
    	//"archivio" il nme di questa immagine per usarla come "sfondo"
    	OldImg = "img02.jpg";
    }
    myButton1.addEventListener(MouseEvent.CLICK, eventResponseImg01);
    myButton2.addEventListener(MouseEvent.CLICK, eventResponseImg02);
    grazie
    Ciao

  2. #2
    Utente di HTML.it L'avatar di Ashry
    Registrato dal
    Jul 2002
    Messaggi
    586
    ok ora riesco a caricare le immagini devo solo capire come fare a far partire la maschera dopo che lo sfondo si è caricato e dopo che la nuova foto si è caricata ^-^

    Ho fatto così

    function eventResponseImg01(event:MouseEvent):void {
    loadOld();
    NewImg = "img10.jpg";
    focus_mc.x=22;
    loadNew();
    mask_mc.gotoAndPlay(1);
    OldImg = "img01.jpg";
    }

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il caricamento si verifica con un evento per il Loader, ma invece di assegnarlo direttamente all'oggetto, lo si assegna al suo contentLoaderInfo

    es.

    Codice PHP:
    var u:URLRequest = new URLRequest("img.jpg");
    var 
    l:Loader = new Loader();
    l.contenLoaderInfo.addEventListener(Event.INITinitHandler);

    function 
    initHandler(e:Event) {
    // azioni
    }

    l.load(u); 

  4. #4
    Utente di HTML.it L'avatar di Ashry
    Registrato dal
    Jul 2002
    Messaggi
    586
    ok grazie, provo a vedere se riesco a lavorarci su ^-^

  5. #5
    Utente di HTML.it L'avatar di Ashry
    Registrato dal
    Jul 2002
    Messaggi
    586
    Mi sembra che funzioni tutto ora ho modificato così:

    codice:
    /*Funzione per caricare la nuova foto*/
    function loadNew() {
    
    	var pictLdr:Loader = new Loader();
    	var pictURL:String = NewImg;
    	var pictURLReq:URLRequest = new URLRequest(pictURL);
    	pictLdr.load(pictURLReq);
    	pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
    	function imgLoaded(event:Event):void {
    		NewImgBox.addChild(pictLdr.content);
    		mask_mc.gotoAndPlay(1);
    	}
    
    }
    
    /*funzione per sostituire lo sfondo*/
    function loadOld() {
    
    	var pictLdrOld:Loader = new Loader();
    	var pictURLOld:String = OldImg;
    	var pictURLReqOld:URLRequest = new URLRequest(pictURLOld);
    	pictLdrOld.load(pictURLReqOld);
    	pictLdrOld.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoadedOld);
    	function imgLoadedOld(event:Event):void {
    		OldImgBox.addChild(pictLdrOld.content);
    		loadNew();
    		
    	}
    
    }

    ed al pulsante:

    codice:
    function eventResponseImg01(event:MouseEvent):void {
    	NewImg = "img01.jpg";
    	focus_mc.x=22;
    	loadOld();
    	OldImg = "img01.jpg";
    }

    Grazie
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.