Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema Sfondo Browser

    Ragazzi nel mio flash carico lo sfondo per il filmato da xml e lo adatto in maniera proporzionale allo schermo.
    La classe che controlla tutto è questa:

    codice:
    package
    {
    import flash.text.*;
    import flash.display.*;
    import flash.events.MouseEvent;
    import flash.text.*;
    import flash.utils.*;
    import flash.net.*;
    import com.greensock.*; 
    import com.greensock.easing.*;
    
    
    public class Main extends MovieClip
    {
    
    
        public function Main()
        {
    		var strURL:String = "main.xml";
    				
    		mcmenu.x = mcmenu.width / 2;
    		mcmenu.y = 43;
    		mcmenu.asd.company.text = "asdasd";
    		stage.addEventListener(Event.RESIZE, sizeListener);
    		mcmenu.addEventListener(MouseEvent.MOUSE_DOWN, Fullscreen);
    		loadxml(strURL);
        }
    
    	private function Fullscreen(e:MouseEvent){
    		stage.displayState = StageDisplayState.FULL_SCREEN;
    	}
    	
    	private function loadxml(stringaURL:String):void{
    		var loader:URLLoader = new URLLoader();
    		loader.addEventListener(Event.COMPLETE, handleComplete);
    		loader.load(new URLRequest(stringaURL));
    	}
    	private function handleComplete(e:Event):void{
    		var myXML:XML = new XML(e.target.data);
    		var myURL:String = myXML.sfondo;
    		var sfondoURL:URLRequest = new URLRequest(myURL);
    		var loader:Loader = new Loader();
    		loader.load(sfondoURL);
    		sfondo.addChild(loader);
    		sfondo.x = 0;
    		sfondo.y = 0;
    		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, sfondoCompleto);
    		loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, sfondoCaricamento);
    	}
    	private function sfondoCaricamento(e:ProgressEvent){
    		var perc:Number = e.bytesLoaded / e.bytesTotal;
    		bar.width = Math.ceil(perc*100);
    	}
    	private function sfondoCompleto(e:Event){
    		backgroundHandle();
    		TweenMax.to(sfondo, 1, {blurFilter:{blurX:20, blurY:20}, delay:2});
    		
    	}
    	
    	private function backgroundHandle(){
    		scaleProportional();
    		centerPic();
    	}
    	
    	private function scaleProportional():void {
    		var picHeight = sfondo.height / sfondo.width;
    		var picWidth = sfondo.width / sfondo.height;
    		if ((stage.stageHeight / stage.stageWidth) < picHeight) {
    			sfondo.width = stage.stageWidth;
    			sfondo.height = picHeight * sfondo.width;
    		} else {
    			sfondo.height = stage.stageHeight;
    			sfondo.width = picWidth * sfondo.height;
    		}
    	}
    
    	private function centerPic():void {
    		sfondo.x = 0;
    		sfondo.y = 0;
    	}
    	
    	private function sizeListener(e:Event){
    		scaleProportional();
    		centerPic();
    	}
    
    }
    }
    Ho aggiunto il controllo dello sfondo una volta che questo è caricato tramite l'evento Event.COMPLETE sul contentLoaderInfo listener.
    Tutto è apposto se carico il filmato in flash vedo lo sfondo ma se carico il filmato nel browser tramite il file html creato da flash stesso lo sfondo non appare e non riesco a capire proprio il motivo....sto impazzendo veramente...anche perchè il sito va consegnato entro una settimana....e non so che fare
    Ecco il mio sito www.sudmarmisas.it

  2. #2
    Ho inserito anche il codice all'interno del primo frame della timeline ma niente...sembra quasi che il fash nel browser non carichi l'immagine tramite xml...e non riesco proprio a capire
    Aiutatemi veramente....
    codice:
    var str:String = "main.xml";
    loadxml(str);
    function loadxml(stringaURL:String):void{
            var loader:URLLoader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, handleComplete);
            loader.load(new URLRequest(stringaURL));
        }
    function handleComplete(e:Event):void{
            var myXML:XML = new XML(e.target.data);
            var myURL:String = myXML.sfondo;
            var sfondoURL:URLRequest = new URLRequest(myURL);
            var loader:Loader = new Loader();
            loader.load(sfondoURL);
            sfondo.addChild(loader);
            sfondo.x = 0;
            sfondo.y = 0;
    }
    Ecco il mio sito www.sudmarmisas.it

  3. #3
    Qualcuno mi ha detto che è il garbage collector...voi che dite?
    Ecco il mio sito www.sudmarmisas.it

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da LS(05)
    Qualcuno mi ha detto che è il garbage collector...voi che dite?
    :master:

    Prova così, aggiungi questa riga dopo stage.addEventListener(Event.RESIZE, sizeListener);

    Codice PHP:
    sizeListener(); 
    E modifica la funzione sizeListener() così:

    Codice PHP:
    private function sizeListener(e:Event=null):void {
        
    scaleProportional();
        
    centerPic();


  5. #5
    Ho risolto. Avevo queste linee nella timeline:
    codice:
    stage.align = StageAlign.TOP_LEFT;
    stage.scaleMode = StageScaleMode.NO_SCALE;
    Lo ho cancellate e le ho inserite all'interno della classe
    Ecco il mio sito www.sudmarmisas.it

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.