Visualizzazione dei risultati da 1 a 9 su 9

Discussione: On Load su MX e MX2004

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    200

    On Load su MX e MX2004

    Ho provato ON LOAD come metodo dalla timeline e nn come gestore di eventi dal mc
    _root.myclip_mc.onLoad = function (){
    ecc;
    ecc;
    };

    su Flash MX nn funziona

    se invece provo con Flash MX 2004 pur esportando per FP6 e AS1 funziona correttamente.

    altra cosa


    se utilizzo sempre ONLOAD come gestore di eventi su un mc target (devo caricare al suo interno delle jpg) su Flash MX nn funziona, probabilmente nel momento in cui carico le jpg al suo interno il codice AS mi viene cancellato, se pero lo faccio con MX2004 sempre esportando per FP6 AS1 funziona correttamente.

    Potrei capire se esportassi per FP7 ma nn per FP6, forse sono stati risolti dei problemi al sw di authoring e nn al player

    Qualcuno ha delle spiegazioni?

    Ciao

  2. #2
    teoricamente è corretto in Flash MX perchè se scrivi:
    _root.myclip_mc.onLoad = function (){

    significa che il movieclip myclip_mc è già stato caricato e quindi anche il suo onLoad è già stato attivato.
    in flash 7 è stato introdotto oltre all'onLoad anche onDraw, che viene prima in fatto di tempo rispetto all'onLoad, probabilmente è per questo che cambia (andrebbe guardato il bytecode generato)

    cmq in linea di massima l'evento onLoad dei movieclip generato da codice:

    _root.myclip_mc.onLoad = function (){
    this.fai qualcosa
    }

    è la stessa cosa che scrivere:
    _root.myclip_mc.faiqualcosa


    ma praticamente è corretto invece che si possa scrivere l'onLoad da codice proprio perchè gli eventi dei movieclip vengono letti e interpretati solo dopo che tutte le azioni della timeline in cui si trova sono stati eseguiti. e quindi l'onLoad viene cmq eseguito solo in un secondo momento rispetto allo script in timeline
    Free ActionScript Editor

    Y en silencio y sin cruzar una palabra
    solamente una mirada es suficiente para hablar

  3. #3
    Originariamente inviato da flash_mx2
    teoricamente è corretto in Flash MX perchè se scrivi:
    _root.myclip_mc.onLoad = function (){

    significa che il movieclip myclip_mc è già stato caricato e quindi anche il suo onLoad è già stato attivato.
    in flash 7 è stato introdotto oltre all'onLoad anche onDraw, che viene prima in fatto di tempo rispetto all'onLoad, probabilmente è per questo che cambia (andrebbe guardato il bytecode generato)

    cmq in linea di massima l'evento onLoad dei movieclip generato da codice:

    _root.myclip_mc.onLoad = function (){
    this.fai qualcosa
    }

    è la stessa cosa che scrivere:
    _root.myclip_mc.faiqualcosa


    ma praticamente è corretto invece che si possa scrivere l'onLoad da codice proprio perchè gli eventi dei movieclip vengono letti e interpretati solo dopo che tutte le azioni della timeline in cui si trova sono stati eseguiti. e quindi l'onLoad viene cmq eseguito solo in un secondo momento rispetto allo script in timeline
    tutto vero e pienamente d'accordo .. solo che lui parla di un SWF compatibile MX [V6.0] che accetta come parametro di gestione su un LoadMovie(); l' evento onLoad, cosa non fattibile, se non ricordo male, in MX o da MX.

    Ora i casi secondo me sono 2:
    1) hanno risolto il problema del 6 in questa nuova release
    2) il player del 7 e' bacato e legge MX 1 come se fosse MX 2, quindi ti fa passare una cosa non esistente per 6 ma valida nel 7

    Per di piu' dovresti provare queste tue congetture su un vecchio player 6, visto che se usi il 7 non puoi parlare con certezza di retrocompatibilita'.

    Fammi sapere in caso che mi interessa parecchio, grazie .
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    200
    Grazie per le risposte!

    ho fatto confusione!

    dunque, in Flash MX:


    _root.myclip_mc.onLoad = function (){
    ecc;
    ecc;
    };

    in teoria dovrebbe funzionare ma in pratica non funziona!

    onClipEvent (load) {
    _root.myclip_mc.loadMovie("img/"+image[i]);
    }
    non dovrebbe funzionare perche con loadmovie carico delle jpg all'interno dello stesso mc contenente lo script.


    sapete perchè prima funzionava?
    xke per errore gli avevo lasciati tutti e due, uno sul mc e l'altro sul keyframe della root. STRANO

    Da soli nn funzionano.

    Per tagliare la testa al toro ho creato un mc vuoto e da li faccio partire lo script

    onClipEvent (load) {
    _root.myclip_mc.loadMovie("img/"+image[i]);
    }



  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    A me sembrava che l'onDraw fosse un evento della Classe UIObject, e non della classe MovieClip..

    codice:
    _root.myclip_mc.onLoad = function (){);
    non funziona ne in flash mx, ne in flash mx 2004, indipendentemente dal player con cui si esporta.

    codice:
    onClipEvent (load) { 
    	_root.myclip_mc.loadMovie("img/"+image[i]); 
    
    }
    o

    codice:
    onClipEvent (load) { 
    	this.loadMovie("img/"+image[i]); 
    }
    funziona, solo che l'evento viene scatenato ogni volta che l'immagine arriva nel movieclip, quindi continuamente. Per provare:

    codice:
    onClipEvent (load) { 
    	trace("CARICAMENTO")
    	this.loadMovie("img/"+image[i]); 
    }
    e vedi quante volte viene ripetuto il trace..

    In generale, per far funzionare l'onLoad (ed è per questo che con entrambi funzionava), basta scrivere nella timeline:

    codice:
    _root.myclip_mc.onLoad = function (){);
    quindi selezionare il movieclip, aprire il pannello delle azioni, cliccarci dentro e premere Invio. Basta un "a capo" perchè tutto funzioni.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    200
    Originariamente inviato da negatyve
    In generale, per far funzionare l'onLoad (ed è per questo che con entrambi funzionava), basta scrivere nella timeline:

    codice:
    _root.myclip_mc.onLoad = function (){);
    quindi selezionare il movieclip, aprire il pannello delle azioni, cliccarci dentro e premere Invio. Basta un "a capo" perchè tutto funzioni.
    FUNZIONA!!!

    Basta una riga vuoto nel MC di destinazione, in questo modo per farlo funzionare evito di riscrivere il codice due volte o di tenere un MC vuoto!!!

    Grazie

  7. #7
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    E di che..

  8. #8
    Originariamente inviato da negatyve

    In generale, per far funzionare l'onLoad (ed è per questo che con entrambi funzionava), basta scrivere nella timeline:

    codice:
    _root.myclip_mc.onLoad = function (){);
    quindi selezionare il movieclip, aprire il pannello delle azioni, cliccarci dentro e premere Invio. Basta un "a capo" perchè tutto funzioni.
    ora, perdona la mia inutile osservazione ... ma a te una cosa cosi' sembra normale ???

    a me no, sembra un malfunzionamento senza attenuanti.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Originariamente inviato da andr3a
    ora, perdona la mia inutile osservazione ... ma a te una cosa cosi' sembra normale ???

    a me no, sembra un malfunzionamento senza attenuanti.
    No, non mi sembra normale, ma IO piego la macchina al mio volere, e non il contrario..

    (è evidentemente un bug, una cosa alla quale verrà posto rimedio)

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.