Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70

    Errore caricamento swf esterno

    salve ragazzi sto provando a caricare sullo stage un swf esterno, mi spiego meglio, allora io creo la pagina inizizlae del mio sito e voglio che al centro della pagina, si carichi un swf di una galleria gia creata, il problema e che quando provo a caricare il file mi da errore, adesso vi posto un po di codici per capirci ancora meglio.



    Codice PHP:
    var referenceToLoadedClip:MovieClip;  
    var 
    mySwfLoader:Loader = new Loader(); 
    mySwfLoader.contentLoaderInfo.addEventListener(Event.COMPLETEonComplete);
      
    addChild(mySwfLoader);  
    mySwfLoader.load(new URLRequest("header/main.swf"));  
    function 
    onComplete(e:Event) {       referenceToLoadedClip e.target.content; } 
    con questo carico il mio swf main che si trova nella cartella header, ma mi da questo errore e non capisco come risolvere il tutto

    Codice PHP:
    TypeErrorError #1009: Impossibile accedere a una proprietà o a un metodo di un riferimento oggetto null.     
    at Main/init()     
    at Main() 
    Il file che devo caricare ha il codice un un file esterno chiamato Main, ma non riesco a capire dove sta l'errore grazie e spero che qualcuno mi sappia aiutare

  2. #2
    Sulla Main dell'swf che carichi il metodo init viene chiamato sull'ADDED_TO_STAGE?

    public function Main()
    {
    addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event):void
    {
    trace("init!");
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70
    mmmm mi sa di no adesso controllo e ti dico.......

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70
    ti posso fare un altra domanda?........ allora sto usando questo codice per caricare un altro swf esterno, che funziona se lo carico con dei pulsanti direttamente sullo stage, mentre se uso un pulsante con animazione, mi spiego meglio, ho un un movie clip che quando vieni cliccatto con un effetto a tendina, fa uscire altri 3 movieclip sopra di lui, praticamnete un semplice menu a tendina , se clicco su uno dei movie clip, mi carica l'swf ma me lo carica in un angolo, e non mi fa vedere tutto, penso che sia dovuto al fatto che lui carica l'swf non nella pagina principale ma tenendo in considerazione le coordinate della pagina del menu, c'e un modo per dirgli che me lo deve caricare nella pagina principale?? spero che sia abbastanza chiaro anche se ne dubito cmq se puio aiutarmi ti sarei molto grato.

    il codice che uso e questo:
    Codice PHP:
    var my_videos:Array=new Array("slide.swf","movies/due.swf","movies/tre.swf","movies/quattro.swf","movies/cinque.swf");  
    var 
    my_buttons:Array=new Array(button_1,button_2,button_3,button_4,button_5);  
    var 
    request:URLRequest; var loader:Loader=new Loader(); 
    var 
    holder_mc:MovieClip=new MovieClip(); 
    addChild(holder_mc);   
    for(var 
    i:int=0;i<my_videos.length;i++) {     
    my_buttons[i].id=i;     
    my_buttons[i].mouseChildren=false;     
    my_buttons[i].buttonMode=true;     
    my_buttons[i].addEventListener(MouseEvent.MOUSE_DOWN,onButtonDown); }  
     function 
    onButtonDown(evt:MouseEvent):void {     
    if(
    loader!=null)         
    loader.unload();      
    request=new URLRequest(my_videos[evt.target.id]); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImageLoaded); 
    loader.load(request); }   
    function 
    onImageLoaded(evt:Event):void {     
    if(
    holder_mc.numChildren>0)         
    holder_mc.removeChildAt(0);     
    var 
    swf:MovieClip=evt.target.loader.content as MovieClip;     
    holder_mc.addChild(swf); } 

  5. #5
    Ma guarda, le coordinate di posizionamento di un oggetto sono sempre relative al tuo contenitore.
    Se quindi carichi un oggetto e lo aggiungi allo stage (mettiamo x:50, y:50), il suddetto oggetto avrà queste coordinate.
    Se dai le medesime coordinate (50, 50) ma fai un addChild non direttamente sullo stage, ma in un holder (holder.addChild(oggetto)), questo avrà coordinate 50, 50 relative al suo contenitore. Se quindi holder, si per sè, ha coordinate 20, 20, il tuo oggetto, rispetto al main stage, lo vefrai a 70, 70.
    Chiaramente quando non definisci nessuna coordinata di default sono settate a 0, 0 (angolo superiore sinistro del contenitore).

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70
    ok penso di aver capito, nel caso del codice sopra descritto, come devo fare per dirgli che deve caricare l'swf in modo che prenda in consideranzione no le coordinate del pulsante ma dello stage?

    ho capito cio che mi hai detto, ma non so come devo risolvere il problema, mi potresti fare un esempio di codice??? anche riferito al codice che uso sopra, scusa se ti rompo, ma sono in un vicolo ceco...........

  7. #7
    Sinceramente non ho capito dove sia il tuo problema.
    Ho provato il tuo codice (ho replicato un esempio) e funziona perfettamente.
    Tutti gli swf esterni vengono caricati a coordinata 0,0 dello stage (dato che holder viene attaccato alla display list in quella coordinata).
    Se a holder, quando viene attaccato, vengono date per esempio coordinate 20, 20, tutti gli SWF esterni saranno caricati a 20, 20 dal punto di registrazione in alto a sinistra dello stage (ma 0, 0 relativamente a holder).
    Davvero non capisco cosa c'è che non ti torna

    Se vuoi ti passo il fla, oppure bho passami tu il tuo se non pesa troppo (tutta la folder con anche gli SWF esterni).

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70
    Si infatti non ci siamo capiti bene, il file qui sotto contiene delle prove che sto facendo, se clicchi sull'ultimo pulsante ti si apre una tendina clikkando su, their, si carica l'swf esterno ma me lo cairca in basso a destra, non so come risolvere questo problema, scusa se non mi ero fatto capire.

    http://rapidshare.com/files/43541627..._molti_swf.rar

    il file principale e main1.
    slide, e l'swf che deve caricare.

    grazie per l'aiuto

  9. #9
    Ah ok, ovviamente non ti funziona perchè devi aggiungere holder non dentro il clip foto, ma dentro al main.
    Se vai dentro al clip foto, prima di definire holder, ricavati il main, poi definisci holder e poi lo addi alla main sempre:

    var main:MovieClip = this.parent as MovieClip;
    var holder_mc:MovieClip=new MovieClip();
    main.addChild(holder_mc);

    Così vedrai che tisi carica bene, a 0,0 dello stage.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70
    grazie mille adesso funziona perfettamente sei stato molto gentile

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.