Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037

    [AS3] Accedere alle proprietà dell swf caricato

    Ciao,
    Vorrei sapere le proprità dell swf caricato, il problema sorge quando carico una versione più vecchia del as3. In pratica non riesco a rivelare ne _totalfremes ne _currentframe. E come posso sapere i valori delle proprietà se è possibile.

    Quando lo lancio mi da questo errore : ReferenceError: Error #1069: Impossibile trovare la proprietà totalFrames su flash.display.AVM1Movie e nessun valore predefinito presente.
    at MANAGER_fla::MainTimeline/loaded()


    lo script che uso è questo:
    var url ='prova.swf';
    var contenitore_swf:MovieClip = new MovieClip();
    addChild (contenitore_swf);
    contenitore_swf.x =0;
    contenitore_swf.y = 100;


    var info:LoaderInfo;
    var contenuto;

    var primoSwf:Boolean= false;
    function LoaderInfoExample ()
    {
    if (primoSwf) {
    contenitore_swf.removeChildAt (0);
    }
    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener (IOErrorEvent.IO_ERROR, ioErrorHandler);
    loader.contentLoaderInfo.addEventListener (Event.COMPLETE, loaded);
    var request:URLRequest = new URLRequest(url);
    loader.load (request);
    contenitore_swf.addChild (loader);
    primoSwf=true;
    }

    function loaded (event:Event):void
    {
    contenuto = event.target.content;
    var loader:Loader = Loader(event.target.loader);
    info = LoaderInfo(loader.contentLoaderInfo);
    try {
    trace ('actionScriptVersion : '+info.actionScriptVersion);
    } catch (e:Error) {
    throw new Error ;
    }
    stage.frameRate=info.frameRate;
    var frameRateSwf= info.frameRate;
    var versioneSwf= info.swfVersion;
    var widthSwf:Number= info.width;
    var heightSwf= info.height;
    var bytesSwf;
    var secondDurationSwf;
    if (info.actionScriptVersion==3) {
    bytesSwf=(info.bytesTotal/1000);
    secondDurationSwf = event.target.content.totalFrames /frameRateSwf;
    } else if (info.actionScriptVersion==2) {
    secondDurationSwf = event.target.content['_totalFrames'] /frameRateSwf;
    var widthProperty:String= '_width';
    }
    swf_txt.htmlText ='VERSIONE PLAYER : '+versioneSwf;
    swf_txt.htmlText +='DURATA IN SECONDI : '+secondDurationSwf;
    swf_txt.htmlText +='FRAMERATE : '+frameRateSwf;
    swf_txt.htmlText +='WIDTH : '+widthSwf +'PX';
    swf_txt.htmlText +='HEIGHT : '+heightSwf+'PX';
    swf_txt.htmlText +='BYTE : '+bytesSwf+' KB';
    //initFrameControll ();
    }


    function ioErrorHandler (event:IOErrorEvent):void
    {
    trace ("ioErrorHandler: " + event);
    }

    LoaderInfoExample ();

    e avrei n altra domanda, come mai se faccio un semplice for in su qualsiasi cosa non mi viene tracciato niente ???
    for( var p in contenitore){trace(p)}



    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    l'oggetto a cui fa capo AS3 per rappresentare una versione precedente, si chiama AVM1Movie e viene creato quando in un Loader viene caricato un filmato compilato con flash 8 o precedenti
    non può interagire direttamente con AS3 ma eredita dalla classe DisplayObject proprietà quali x, y, width, height ecc...

    per saperne di più su limitazioni ed utilizzo, puoi consultare questa pagina: http://livedocs.adobe.com/flash/9.0_...AVM1Movie.html

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.