Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [MX] movieclip.onLoad

  1. #1

    Mistero dei component.....

    Ciao a tutti, un altro problema....stavolta misterioso......dunque sto facendo un component che si collegha ad un xml, fa il parsing del file e mi restituisce un array che io vado a posizionare all'interno di un campo di testo...tutto questo viene gestito da tre classi, una per l'inizializzazione del component, una per il caricamento dell'xml e l'altra per il parsing.....tutto funziona (dopo 5 giorni di codice assurdo e di reference fatti da culo) ma ora voglio poter mettere sullo stage un campo di testo e un mc contenitore (con al suo interno 3 mc,uno per il bottone su, uno per quello giù e uno per la slider) per poter fare un text scroll.....non mi dilungo oltre, sta di fatto che io dinamicamente voglio far attaccare sullo stage al mio component un MC vuoto che all'onLoad mi inizializzi l'altezza della scrollbar e altre robe, all'onEnterFrame mi aggiorni la posizione della scrollbar e così via.....ma succede che tutti gli eventi funzionano, tranne l'onLoad, che mi serve assolutamente per inizializzare alcune variabili...suggerimenti????...vi posto una cosa per darvi un'idea
    codice:
    public function GestiscoBarra():Void { 
        
       attachMovie("vuoto", "vuoto1", getNextHighestDepth()); 
       // vuoto è un oggetto che è nelle assets del mio component
       // vuoto1 è una variabile mc della mia classe che posso manipolare
    //manipolando lei modifico anche quella realmente presente sullo stage
      
     vuoto1.onLoad=function(){ 
          trace("caricato");//non va una cippa   
        } 
    
       vuoto1.onEnterFrame = function() { 
          trace("enterFrame)//it works 
    };
     
          vuoto1.onMouseDown = function() { 
          trace("down");//funziona       
       }; 
          vuoto1.onMouseUp = function() { 
          trace("up");//funziona       
       }; 
          vuoto1.onMouseMove = function() { 
          trace("move");//funziona       
       }; 
       }

    io nn capisco....voi??????????????????????

    se siete arrivati fin qui vi ringrazio per il tempo

    ciaooo

    teo

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    L'evento onLoad non ha mai funzionato: per settarlo il movieclip deve essere già sullo stage, e quando c'è, il momento dell'onload è già passato. Ci sono una serie di soluzioni in actionscript, ma scrivere questa cosa:

    codice:
    attachMovie("vuoto", "vuoto1", getNextHighestDepth()); 
    vuoto1.onLoad=function(){ 
         trace("caricato");
    }
    e questa:

    codice:
    attachMovie("vuoto", "vuoto1", getNextHighestDepth()); 
    trace("caricato");
    non è lo stesso?

  3. #3
    Guarda, penso di aver capito il tuo problema, anch'io me l'ero trovato davanti qualche volta. Purtroppo non ti so spiegare perché non funzioni l'evento onLoad, non so se si tratti di baco o se c'è qualche motivo tecnico particolare, in ogni caso io me lo creavo per fatti miei, nel senso che creavo un metodo e richiamavo quel metodo, ad esempio lo chiamavo init();

    Premetto che non ho ancora usato Flash MX 2004 per creare components e nemmeno il nuovo AS, ma evidentemente certi problemi non sono stati corretti con la nuova versione che è uscita tanto in fretta e furia (chissà perché poi...?!). Spero per te (e per me) che non si tratti di un baco ma ci sia una spiegazione logica, almeno si riesce ad evitare di dover fare giri strani ogni volta....

    Ciao

  4. #4
    Scusa Nega, non avevo visto la tua risposta

    In ogni caso spero che le informazioni che ho dato io servano a qualcosa a teoooo.

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Figurati!

  6. #6
    Si negatyve, in linea prettamente teorica sarebbe lo stesso, ma io devo settare delle variabili dentro questo onLoad,ma quando entro nell'onLoad del mio clip vuoto1 non ho più la referenza alle variabili della mia classe...nel senso che anche se sto scrivendo codice sulla classe component.as nel momento in cui sovrascrivo l'evento onLoad del clip vuoto1 nn posso far riferimento alle variabili che ho nella mia classe component.
    penso tu abbia capito, ma giusto per fare un esempio

    codice:
    class component extends Movieclip{
    var esempio:Number = 50
    //costruttore
    //metodi vari
    
    trace(this)//riferimento ad oggetto component
    trace (esempio)//mi ridà 50
    
    attachMovie("vuoto","vuoto1",0)
    vuoto1.onLoad{//vabbè nn va,ma anche se andasse
        trace(this)//riferimento a vuoto1 
        trace(esempio)//mi ridà undefined
     }
    }
    sono del gatto a meno che la mia barra nn sia a sua volta un component

    ciao e grazie a tutti

  7. #7
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Non ho mica capito, [stai cercando di | vorresti] tracciare la variabile "esempio" da un movieclip attaccato nel componente?

    Comunque, se si tratta di questo, hai due soluzioni.

    1:

    codice:
    class component extends Movieclip{
    	var esempio:Number = 50
    
    	attachMovie("vuoto","vuoto1",0)
    	vuoto1.path = this; // salvi un riferimento
    	// adesso, da dentro vuoto1, puoi tracciare
    	// trace(this.path.esempio)
    }
    2.

    codice:
    class component extends Movieclip{
    	var esempio:Number = 50
    
    	attachMovie("vuoto", "vuoto1", 0, {esempio:esempio})
    	// adesso, da dentro vuoto1, puoi tracciare
    	// trace(this.esempio)
    }

  8. #8
    si, è vero, lo avevo appena fatto....scemo che sono...scusa...e grazie
    ciaoo

  9. #9
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Ah, detto tra noi:

    codice:
    esempio = 5;
    vuoto1.onEnterFrame = function()
    {
        trace(esempio);
    }
    non è proprio una bella sintassi, dato che quell'esempio dentro l'onEnterFrame fa riferimento alla timeline in cui è definito lo script, e non considera riferimenti relativi. Molto meglio:

    codice:
    esempio = 5;
    vuoto1.onEnterFrame = function()
    {
        trace(this._parent.esempio);
    };

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.