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

    Problema richiamo gallery in as3

    Salve ragazzi, sto facendo un sito per un fotografo e ho un problema con la gallery.

    Io ho collegato dalla home un pulsante che mi richiama un swf e lo inglobo in uno spazio della home stessa usando questo script.

    import fl.transitions.Tween;
    import fl.transitions.easing.*;

    var portfolio:SimpleButton=apertura.portfolio_botton;

    var str_navigation:String = "";
    var str_navigation_active:String = "";

    //Ho creato un movieclip vuoto dove viene caricato l'swf esterno
    var moviecontainer:MovieClip = new MovieClip();
    moviecontainer.x = 25;
    moviecontainer.y = 96;
    //lo inserisco il movieclip contenitore nello stage
    stage.addChild(moviecontainer);

    //FUNZIONE CARICAMENTO SWF ESTERNO
    function onCompleteHandler(loadEvent:Event) {

    //controllo : il movie clip attivo è diverso da quello che sto caricando?
    if (str_navigation_active != str_navigation) {
    //controllo che nello stage ci sia caricato un swf esterno se si lo rimuovo
    if (moviecontainer.numChildren > 0) {
    try {

    moviecontainer.removeChildAt(0);

    } catch (e:Error) {
    //trace(e);
    }
    }
    //
    var swf_esterno=loadEvent.currentTarget.content;
    moviecontainer.addChildAt(swf_esterno, 0);
    str_navigation_active = str_navigation;
    }
    }

    function startPortfolio(evt:Event) {

    var mLoader:Loader = new Loader();
    var mRequest:URLRequest = new URLRequest("gallery.swf");
    mLoader.contentLoaderInfo.addEventListener(Event.C OMPLETE, onCompleteHandler);
    //mLoader.contentLoaderInfo.addEventListener(Progres sEvent.PROGRESS, onProgressHandler);
    mLoader.load(mRequest);
    //valorizzo la variale str_navigation con l'url interno.swf
    str_navigation = mRequest.url;


    }
    Questo script funziona bene per richiamare un swf esterno qualsiasi ma non la gallery che ho.

    La gallery che ho allestito è un .swf con un richiamo a classi esterne, quindi nel file ho ce nessuno script, gestisco tutto con le classi esterne.

    Però quando avvio il filmato della home e clicco su portfolio mi da questo errore :

    TypeError: Error #1009: Impossibile accedere a una proprietà o a un metodo di un riferimento oggetto null.
    at classes::Script$iinit()
    TypeError: Error #1009: Impossibile accedere a una proprietà o a un metodo di un riferimento oggetto null.
    at classes::ImageViewer$iinit()
    at classes::Script/::xmlLoaded()
    at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunctio n()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/flash.net:URLLoader:nComplete()

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Può essere che nella galleria che hai creato tu non abbia impostato un codice di verifica per la proprietà "stage" che è spesso fondamentale quando si fanno questo tipo di cose.
    In generale una classe Main.as classica dovrebbe essere strutturata in questo modo

    Codice PHP:
    package {
        
    import flash.display.Sprite;
        
    import flash.events.Event;
        public class 
    Main extends Sprite {
            public function 
    Main():void {
                if (
    stageinit();
                else 
    addEventListener(Event.ADDED_TO_STAGEinit);
            }
            private function 
    init(e:Event null):void {
                
    removeEventListener(Event.ADDED_TO_STAGEinit);
                
    // entry point
            
    }
        }

    Dove puoi posizionare il tuo codice a partire da // entry point con la sicurezza che "stage" e "root" siano valorizzati e non diano errori.

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.