Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    126

    ridimensionare filmato esterno = allo stage

    buongiorno a tutti
    spero di non essere tedioso e di non ripetere argomenti già discussi, nel caso mi scuso
    il mio problema è il seguente
    da un filmato principale vorrei caricare un filmato esterno e questo dovrebbe adattarsi alle dimensioni dello stage, e poi posizionarsi al centro

    il codice è ill seguente

    var loader = new Loader();
    loader.load(new URLRequest("elemento.swf"));
    loader.contentLoaderInfo.addEventListener(Event.CO MPLETE, completato);

    function completato(e:Event){
    var centroX:Number=stage.stageWidth/2; //individuo il centro dello stage sull'assse X
    var centroY:Number=stage.stageHeight/2;//individuo il centro dello stage sull'assse y
    loader.width=stage.stageWidth; //imposto le dimensioni del loader =stage
    loader.height=stage.stageHeight;
    loader.x=(centroX-loader.width/2); //posiziono il loader al centro
    loader.y=(centroY-loader.height/2);
    addChild(loader); //aggiungo il loader

    }

    il sistema non genera errori ma il filmato caricato assume dimensioni assurde e si posiziona a caso
    come posso rimediare?

    grazie a tutti per l'aiuto

    ciao

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780

    Re: ridimensionare filmato esterno = allo stage

    Ciao,
    permettimi di dire che la tua descrizione non è troppo chiara, manca di qualche dettaglio (in effetti lo script funziona e fa ciò che stai chiedendo) ma intuisco, dalle tue perplessità, quale possa essere il problema.

    In breve..

    Le proprietà width e height si riferiscono al contenuto. A te (mi pare di capire) servono invece le dimensioni "nominali" del filmato caricato sul loader (cioè quelle che in pratica fanno riferimento all'area del suo stage).
    Le "dimensioni assurde" potrebbero dipendere da questo.

    In tal caso puoi usare loader.contentLoaderInfo.width è loader.contentLoaderInfo.height che si riferiscono appunto alle dimensioni nominali del tuo loader. Queste proprietà sono di sola lettura quindi non puoi impostarle direttamente, dovrai piuttosto impostare la scala facendo un rapporto tra dimensioni dello stage e dimensioni nominali del loader.

    Esempio:
    codice:
    var loader = new Loader();
    loader.load(new URLRequest("elemento.swf"));
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completato);
    function completato(e:Event) {
    	loader.scaleX=stage.stageWidth/loader.contentLoaderInfo.width;
    	loader.scaleY=stage.stageHeight/loader.contentLoaderInfo.height;
    	addChild(loader);
    }
    Inoltre nel voler ridimensionare il loader non hai specificato se vuoi mantenere un aspetto proporzionale. Sembra non ti interessi infatti che il filmato esterno si "deformi" nell'operazione di ridimensionamento. In questo caso non ha senso centrare l'istanza dal momento che dovrà avere dimensioni uguali allo stage "occupando" quindi tutto lo spazio. L'operazione di posizionamento al centro risulterà sempre x=0, y=0. Diverso se vuoi mantenere dimensioni proporzionali, quindi potrebbero risultare appunto degli spazi da ripartire tra le dimensioni del loader e quelle dello stage principale.

    PS: ti prego di utilizzare i relativi tag di formattazione quando posti del codice sul forum.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    126

    grazie

    grazie
    missione compiuta!
    riguardo alle proporzioni credo di cavarmela

    mi scuso per i tag mancanti

    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.